diff --git a/app/Http/Controllers/Admin/PlacesController.php b/app/Http/Controllers/Admin/PlacesController.php index b0157b8a..47aed5f4 100644 --- a/app/Http/Controllers/Admin/PlacesController.php +++ b/app/Http/Controllers/Admin/PlacesController.php @@ -67,15 +67,13 @@ class PlacesController extends Controller { $place = Place::findOrFail($placeId); - $latitude = $place->getLatitude(); - $longitude = $place->getLongitude(); - return view('admin.places.edit', [ 'id' => $placeId, 'name' => $place->name, 'description' => $place->description, - 'latitude' => $latitude, - 'longitude' => $longitude, + 'latitude' => $place->latitude, + 'longitude' => $place->longitude, + 'icon' => $place->icon ?? 'marker', ]); } @@ -92,8 +90,60 @@ class PlacesController extends Controller $place->name = $request->name; $place->description = $request->description; $place->location = new Point((float) $request->latitude, (float) $request->longitude); + $place->icon = $request->icon; $place->save(); return redirect('/admin/places'); } + + /** + * List the places we can merge with the current place. + * + * @param string Place id + * @return Illuminate\View\Factory view + */ + public function mergeIndex($placeId) + { + $first = Place::find($placeId); + $results = Place::near(new Point($first->latitude, $first->longitude))->get(); + $places = []; + foreach ($results as $place) { + if ($place->slug !== $first->slug) { + $places[] = $place; + } + } + + return view('admin.places.merge.index', compact('first', 'places')); + } + + public function mergeEdit($place1_id, $place2_id) + { + $place1 = Place::find($place1_id); + $place2 = Place::find($place2_id); + + return view('admin.places.merge.edit', compact('place1', 'place2')); + } + + public function mergeStore(Request $request) + { + $place1 = Place::find($request->input('place1')); + $place2 = Place::find($request->input('place2')); + + if ($request->input('delete') === '1') { + foreach ($place1->notes as $note) { + $note->place()->dissociate(); + $note->place()->associate($place2->id); + } + $place1->delete(); + } + if ($request->input('delete') === '2') { + foreach ($place2->notes as $note) { + $note->place()->dissociate(); + $note->place()->associate($place1->id); + } + $place2->delete(); + } + + return redirect('/admin/places'); + } } diff --git a/app/Http/Controllers/MicropubController.php b/app/Http/Controllers/MicropubController.php index eb6f6ac1..b4b32459 100644 --- a/app/Http/Controllers/MicropubController.php +++ b/app/Http/Controllers/MicropubController.php @@ -6,6 +6,7 @@ use Ramsey\Uuid\Uuid; use App\{Media, Note, Place}; use Illuminate\Http\{Request, Response}; use App\Exceptions\InvalidTokenException; +use Phaza\LaravelPostgis\Geometries\Point; use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; use App\Services\{NoteService, PlaceService, TokenService}; @@ -313,7 +314,7 @@ class MicropubController extends Controller $matches ); $distance = (count($matches[0]) == 3) ? 100 * $matches[0][2] : 1000; - $places = Place::near($matches[0][0], $matches[0][1], $distance); + $places = Place::near(new Point($matches[0][0], $matches[0][1]))->get(); foreach ($places as $place) { $place->uri = config('app.url') . '/places/' . $place->slug; } diff --git a/app/Http/Controllers/NotesController.php b/app/Http/Controllers/NotesController.php index d576de0e..1242ee81 100644 --- a/app/Http/Controllers/NotesController.php +++ b/app/Http/Controllers/NotesController.php @@ -356,15 +356,18 @@ class NotesController extends Controller $icon = $icon ?? 'marker'; return '{ - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [' . $longitude . ', ' . $latitude . '] - }, - "properties": { - "title": "' . $title . '", - "icon": "' . $icon . '" - } + "type": "FeatureCollection", + "features": [{ + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [' . $longitude . ', ' . $latitude . '] + }, + "properties": { + "title": "' . $title . '", + "icon": "' . $icon . '" + } + }] }'; } } diff --git a/app/Place.php b/app/Place.php index 42ece165..466a345f 100644 --- a/app/Place.php +++ b/app/Place.php @@ -4,6 +4,8 @@ namespace App; use DB; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Builder; +use Phaza\LaravelPostgis\Geometries\Point; use MartinBean\Database\Eloquent\Sluggable; use Phaza\LaravelPostgis\Eloquent\PostgisTrait; @@ -45,33 +47,23 @@ class Place extends Model } /** - * Get all places within a specified distance. + * Select places near a given location. * - * @param float latitude - * @param float longitude - * @param int maximum distance - * @todo Check this shit. + * @param \Illuminate\Database\Eloquent\Builder $query + * @param Point $point + * @param int Distance + * @return \Illuminate\Database\Eloquent\Builder */ - public static function near(float $lat, float $lng, int $distance) + public function scopeNear(Builder $query, Point $point, $distance = 1000) { - $point = $lng . ' ' . $lat; - $distace = $distance ?? 1000; - $places = DB::select(DB::raw("select - name, - slug, - ST_AsText(location) AS location, - ST_Distance( - ST_GeogFromText('SRID=4326;POINT($point)'), - location - ) AS distance - from places - where ST_DWithin( - ST_GeogFromText('SRID=4326;POINT($point)'), - location, - $distance - ) ORDER BY distance")); + $field = DB::raw( + sprintf("ST_Distance(%s.location, ST_GeogFromText('%s'))", + $this->getTable(), + $point->toWKT() + ) + ); - return $places; + return $query->where($field, '<=', $distance)->orderBy($field); } /* diff --git a/changelog.md b/changelog.md index 755c586d..5f1e15cb 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # Changelog +## Version 0.5.9 (2017-05-31) + - Mapping improvements + - Basic place merging + ## Version 0.5.8 (2017-05-21) - Hotfix: if Carbon can’t parse the supplied published date of a webmention, use the Model’s `updated_at` value diff --git a/composer.lock b/composer.lock index 02b615a3..3eeff020 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.27.2", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "eb10e43cccf8e868f9622ab8ce2beb9fb756b5a8" + "reference": "af653f256d99ff372ce3e3be3048e7e5373ab1bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/eb10e43cccf8e868f9622ab8ce2beb9fb756b5a8", - "reference": "eb10e43cccf8e868f9622ab8ce2beb9fb756b5a8", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/af653f256d99ff372ce3e3be3048e7e5373ab1bc", + "reference": "af653f256d99ff372ce3e3be3048e7e5373ab1bc", "shasum": "" }, "require": { @@ -84,7 +84,7 @@ "s3", "sdk" ], - "time": "2017-05-11T21:23:43+00:00" + "time": "2017-05-18T20:44:27+00:00" }, { "name": "barnabywalters/mf-cleaner", @@ -1593,16 +1593,16 @@ }, { "name": "laravel/scout", - "version": "v3.0.3", + "version": "v3.0.4", "source": { "type": "git", "url": "https://github.com/laravel/scout.git", - "reference": "64d28db58a054174eadf1d4df38dad81ff7e68dd" + "reference": "c822eaff08929439879407ffa27de7966f3c5926" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/scout/zipball/64d28db58a054174eadf1d4df38dad81ff7e68dd", - "reference": "64d28db58a054174eadf1d4df38dad81ff7e68dd", + "url": "https://api.github.com/repos/laravel/scout/zipball/c822eaff08929439879407ffa27de7966f3c5926", + "reference": "c822eaff08929439879407ffa27de7966f3c5926", "shasum": "" }, "require": { @@ -1649,7 +1649,7 @@ "laravel", "search" ], - "time": "2017-04-09T00:54:26+00:00" + "time": "2017-05-09T12:31:27+00:00" }, { "name": "laravel/tinker", @@ -2392,16 +2392,16 @@ }, { "name": "phaza/laravel-postgis", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/njbarrett/laravel-postgis.git", - "reference": "5af1d261b400b803be2299ed59d3b38c2d82e550" + "reference": "f20044a05d52ba45feb6ae356eb54f65b167e504" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/njbarrett/laravel-postgis/zipball/5af1d261b400b803be2299ed59d3b38c2d82e550", - "reference": "5af1d261b400b803be2299ed59d3b38c2d82e550", + "url": "https://api.github.com/repos/njbarrett/laravel-postgis/zipball/f20044a05d52ba45feb6ae356eb54f65b167e504", + "reference": "f20044a05d52ba45feb6ae356eb54f65b167e504", "shasum": "" }, "require": { @@ -2438,7 +2438,7 @@ } ], "description": "Postgis extensions for laravel. Aims to make it easy to work with geometries from laravel models", - "time": "2017-01-16T08:04:22+00:00" + "time": "2017-05-21T06:19:14+00:00" }, { "name": "pmatseykanets/laravel-scout-postgres", @@ -2644,16 +2644,16 @@ }, { "name": "psy/psysh", - "version": "v0.8.3", + "version": "v0.8.5", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e" + "reference": "38a9d21406597a0440690eafbcb0222f528c8ac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e", - "reference": "1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/38a9d21406597a0440690eafbcb0222f528c8ac6", + "reference": "38a9d21406597a0440690eafbcb0222f528c8ac6", "shasum": "" }, "require": { @@ -2713,7 +2713,7 @@ "interactive", "shell" ], - "time": "2017-03-19T21:40:44+00:00" + "time": "2017-05-17T06:49:19+00:00" }, { "name": "ramsey/uuid", @@ -5047,23 +5047,23 @@ }, { "name": "sebastian/diff", - "version": "1.4.1", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + "reference": "3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2", + "reference": "3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.8" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { @@ -5095,7 +5095,7 @@ "keywords": [ "diff" ], - "time": "2015-12-08T07:14:41+00:00" + "time": "2017-05-18T13:44:30+00:00" }, { "name": "sebastian/environment", diff --git a/database/seeds/PlacesTableSeeder.php b/database/seeds/PlacesTableSeeder.php index 34302d50..1fe4bea8 100644 --- a/database/seeds/PlacesTableSeeder.php +++ b/database/seeds/PlacesTableSeeder.php @@ -14,7 +14,7 @@ class PlacesTableSeeder extends Seeder DB::table('places')->insert([ 'name' => 'The Bridgewater Pub', 'slug' => 'the-bridgewater-pub', - 'description' => 'A lovely local pub with a decent selection pf cask ales', + 'description' => 'A lovely local pub with a decent selection of cask ales', 'location' => 'POINT(-2.3805 53.4983)', 'created_at' => '2016-01-12 16:19:00', 'updated_at' => '2016-01-12 16:19:00', diff --git a/package.json b/package.json index 9af1ac7b..e3f2b0d2 100644 --- a/package.json +++ b/package.json @@ -25,16 +25,19 @@ "webpack": "^2.2.0" }, "scripts": { - "lint-staged": "lint-staged", - "stylelint-staged": "stylelint --syntax=scss", - "sass": "sassc --style compressed --sourcemap resources/assets/sass/app.scss public/assets/css/app.css", - "postcss": "postcss --use autoprefixer --autoprefixer.browsers \"> 5%\" --output public/assets/css/app.css public/assets/css/app.css", - "make:css": "npm run sass && npm run postcss", - "compress": "./compress", + "compress": "scripts/compress", "copy-dist": "cp ./node_modules/mapbox-gl/dist/mapbox-gl.css ./public/assets/frontend/ && cp ./node_modules/alertify.js/dist/css/alertify.css ./public/assets/frontend/ && cp ./node_modules/normalize.css/normalize.css ./public/assets/frontend/", - "lint:sass": "stylelint --syntax=scss resources/assets/sass/**/*.scss", + "lint-staged": "lint-staged", "lint:es6": "eslint resources/assets/es6/*.js", - "uglifyjs": "for f in ./public/assets/js/*.js; do uglifyjs $f --screw-ie8 --in-source-map $f.map --source-map $f.map --source-map-url /assets/js/`basename $f`.map --output $f; done" + "lint:sass": "stylelint --syntax=scss resources/assets/sass/**/*.scss", + "make": "npm run make:css && npm run make:js", + "make:css": "npm run lint:sass && npm run sass && npm run postcss", + "make:js": "npm run lint:es6 && npm run webpack && npm run uglifyjs", + "postcss": "postcss public/assets/css/app.css --use autoprefixer --autoprefixer.browsers \"> 5%\" --replace --map", + "sass": "sassc --style compressed --sourcemap resources/assets/sass/app.scss public/assets/css/app.css", + "stylelint-staged": "stylelint --syntax=scss", + "uglifyjs": "scripts/uglifyjs", + "webpack": "./node_modules/.bin/webpack --progress --colors" }, "lint-staged": { "resources/assets/es6/*.js": "eslint", diff --git a/public/assets/css/app.css b/public/assets/css/app.css index e6612ed1..e4a5c7d9 100644 --- a/public/assets/css/app.css +++ b/public/assets/css/app.css @@ -1,2 +1,2 @@ -html{box-sizing:border-box;font-size:24px}*,*::before,*::after{box-sizing:inherit}body{max-width:25em;margin:0 auto;padding-left:5px;padding-right:5px;word-wrap:break-word}#topheader{text-align:center}.h-entry{padding-top:1rem}.note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.note-metadata{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75em}.note img{max-height:80vh;width:auto;image-orientation:from-image}.social-links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.social-links svg{padding-left:3px}.mini-h-card img{display:inline-block;height:1rem}body>.h-card{margin-top:5px;border-top:1px solid grey}footer{margin-top:1rem}footer button{margin-left:5px}.u-comment{margin-top:1em;padding:0 1em;font-size:0.75rem}.u-comment.h-cite img{height:0.75rem}.u-comment .e-content{margin-top:0.5em;font-size:1rem}.container{position:relative;width:100%;height:0;padding-bottom:56.25%}.youtube{position:absolute;top:0;left:0;width:100%;height:100%}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}a{text-decoration:none;border-bottom:1px solid;color:blue}.social-links a{border-bottom:none}.icon{height:1em;width:auto}footer{font-size:0.5rem;text-align:center}footer p>a{border-bottom:none}.iwc-logo{width:100px;height:auto}.pagination{width:100%;height:3rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pagination li{list-style-type:none}.note-ui{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 600px){.note-ui>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:0.2rem}input[type="file"]{width:5vw}}@media (max-width: 599px){input[type="file"]{width:100%}textarea,input[type="text"]{width:100%}}.note-ui label{width:5em;margin-right:0.5rem;text-align:right}.note-ui input:not([type=submit]),.note-ui textarea{-webkit-box-flex:1;-ms-flex:1;flex:1}.note-ui textarea{padding:0.1rem 0.3rem}#locate{margin-right:0.4rem}.mp-media li{list-style-type:none}.mp-media img{height:4em;width:4em}.map{margin-top:4px;height:200px}.marker{background-image:url(data:image/png;base64,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);background-size:contain;width:20px;height:20px}.map-menu{position:absolute;top:0;left:0;background:white;padding:0.4rem}.map-menu label{margin-left:3px;margin-right:3px}.contact{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-top:1em;border-bottom:1px dashed grey}.contact img{margin-right:0.2rem;width:100px;height:100px}span[role=img][aria-label],span[role=img][aria-label]{position:relative}span[role=img][aria-label]:focus::after,span[role=img][aria-label]:hover::after{position:absolute;display:block;z-index:1;bottom:1.5em;left:0;max-width:5em;padding:0.5em 0.75em;border:0.05em solid #fff;border-radius:0.2em;box-shadow:0.15em 0.15em 0.5em #000;content:attr(aria-label);background-color:rgba(0,0,0,0.85);color:#fff;font-size:80%;-webkit-animation:TOOLTIP 0.1s ease-out 1;animation:TOOLTIP 0.1s ease-out 1}@-webkit-keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;box-shadow:0.15em 0.15em 0.5em #000}}@keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;box-shadow:0.15em 0.15em 0.5em #000}}@media print{span[role=img][aria-label]::after{content:" (" attr(aria-label) ") "}} -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9zdHlsZXMuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvbm90ZS1mb3JtLnNjc3MiLCIuLi8uLi8uLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3MvbWFwYm94LnNjc3MiLCIuLi8uLi8uLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3MvY29udGFjdHMuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9lbW9qaS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLEtBQ0ksc0JBQ0EsY0FBZSxDQUNsQixxQkFLRyxrQkFBbUIsQ0FDdEIsS0NWRyxlQUNBLGNBQ0EsaUJBQ0Esa0JBQ0Esb0JBQXFCLENBQ3hCLFdBR0csaUJBQWtCLENBQ3JCLFNBR0csZ0JBQWlCLENBQ3BCLE1BR0csb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EsNEJBQXNCLEFBQXRCLDZCQUFzQixBQUF0QiwwQkFBc0IsQUFBdEIscUJBQXNCLENBQ3pCLGVBR0csb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EsOEJBQ0EsQUFEQSw2QkFDQSxBQURBLHVCQUNBLEFBREEsbUJBQ0EseUJBQ0EsQUFEQSxzQkFDQSxBQURBLDhCQUNBLGdCQUFpQixDQUNwQixVQUdHLGdCQUNBLFdBQ0EsNEJBQTZCLENBQ2hDLGNBR0csb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EseUJBQW1CLEFBQW5CLHNCQUFtQixBQUFuQixrQkFBbUIsQ0FDdEIsa0JBR0csZ0JBQWlCLENBQ3BCLGlCQUdHLHFCQUNBLFdBQVksQ0FDZixhQUdHLGVBQ0EseUJBQTBCLENBQzdCLE9BR0csZUFBZ0IsQ0FDbkIsY0FHRyxlQUFnQixDQUNuQixXQUdHLGVBQ0EsY0FDQSxpQkFBa0IsQ0FDckIsc0JBR0csY0FBZSxDQUNsQixzQkFHRyxpQkFDQSxjQUFlLENBQ2xCLFdBR0csa0JBQ0EsV0FDQSxTQUNBLHFCQUFzQixDQUN6QixTQUdHLGtCQUNBLE1BQ0EsT0FDQSxXQUNBLFdBQVksQ0FDZixLQ3ZGRyw2SkFXYyxDQUNqQixFQUdHLHFCQUNBLHdCQUNBLFVBQVcsQ0FDZCxnQkFHRyxrQkFBbUIsQ0FDdEIsTUFHRyxXQUNBLFVBQVcsQ0FDZCxPQUdHLGlCQUNBLGlCQUFrQixDQUNyQixXQUdHLGtCQUFtQixDQUN0QixVQUdHLFlBQ0EsV0FBWSxDQUNmLFlDMUNHLFdBQ0EsWUFDQSxvQkFDQSxBQURBLG9CQUNBLEFBREEsYUFDQSw4QkFDQSxBQURBLDZCQUNBLEFBREEsdUJBQ0EsQUFEQSxtQkFDQSx5QkFDQSxBQURBLHNCQUNBLEFBREEsOEJBQ0EseUJBQW1CLEFBQW5CLHNCQUFtQixBQUFuQixrQkFBbUIsQ0FDdEIsZUFHRyxvQkFBcUIsQ0FDeEIsU0NWRyxvQkFDQSxBQURBLG9CQUNBLEFBREEsYUFDQSw0QkFBc0IsQUFBdEIsNkJBQXNCLEFBQXRCLDBCQUFzQixBQUF0QixxQkFBc0IsQ0FDekIsMEJBR0csYUFDSSxvQkFDQSxBQURBLG9CQUNBLEFBREEsYUFDQSw4QkFDQSxBQURBLDZCQUNBLEFBREEsdUJBQ0EsQUFEQSxtQkFDQSxjQUFlLENBQ2xCLG1CQUdHLFNBQVUsQ0FDYixDQUdMLDBCQUNJLG1CQUNJLFVBQVcsQ0FDZCw0QkFJRyxVQUFXLENBQ2QsQ0FHTCxlQUNJLFVBQ0Esb0JBQ0EsZ0JBQWlCLENBQ3BCLG9EQUlHLG1CQUFPLEFBQVAsV0FBTyxBQUFQLE1BQU8sQ0FDVixrQkFHRyxxQkFBc0IsQ0FDekIsUUFHRyxtQkFBb0IsQ0FDdkIsYUFHRyxvQkFBcUIsQ0FDeEIsY0FHRyxXQUNBLFNBQVUsQ0FDYixLQ3JERyxlQUNBLFlBQWEsQ0FDaEIsUUFHRyx5NEhBQ0Esd0JBQ0EsV0FDQSxXQUFZLENBQ2YsVUFHRyxrQkFDQSxNQUNBLE9BQ0EsaUJBQ0EsY0FBZSxDQUNsQixnQkFHRyxnQkFDQSxnQkFBaUIsQ0FDcEIsU0N0Qkcsb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EsOEJBQ0EsQUFEQSw2QkFDQSxBQURBLHVCQUNBLEFBREEsbUJBQ0EsZUFDQSw2QkFBOEIsQ0FDakMsYUFHRyxvQkFDQSxZQUNBLFlBQWEsQ0FDaEIsc0RDUEcsaUJBQWtCLENBQ3JCLGdGQUlHLGtCQUNBLGNBQ0EsVUFDQSxhQUNBLE9BQ0EsY0FDQSxxQkFDQSx5QkFDQSxvQkFDQSxvQ0FDQSx5QkFDQSxrQ0FDQSxXQUNBLGNBQ0EsMENBQWtDLEFBQWxDLGlDQUFrQyxDQUNyQywyQkFHRyxLQUNJLGFBQ0EsNkJBQ0Esd0NBQ0EsMEJBQ0EscUJBQWtDLENBR3RDLEdBQ0ksYUFDQSxrQ0FDQSx5QkFDQSxXQUNBLG1DQUFnRCxDQUFBLENBSXhELEFBcEJDLG1CQUdHLEtBQ0ksYUFDQSw2QkFDQSx3Q0FDQSwwQkFDQSxxQkFBa0MsQ0FHdEMsR0FDSSxhQUNBLGtDQUNBLHlCQUNBLFdBQ0EsbUNBQWdELENBQUEsQ0FJeEQsYUFDSSxrQ0FDSSxrQ0FBbUMsQ0FDdEMsQ0FBQSIsImZpbGUiOiJhcHAuY3NzIn0= */ \ No newline at end of file +html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:24px}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{max-width:25em;margin:0 auto;padding-left:5px;padding-right:5px;word-wrap:break-word}#topheader{text-align:center}.h-entry{padding-top:1rem}.note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.note-metadata{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75em}.note img{max-height:80vh;width:auto;image-orientation:from-image}.social-links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.social-links svg{padding-left:3px}.mini-h-card img{display:inline-block;height:1rem}body>.h-card{margin-top:5px;border-top:1px solid grey}footer{margin-top:1rem}footer button{margin-left:5px}.u-comment{margin-top:1em;padding:0 1em;font-size:0.75rem}.u-comment.h-cite img{height:0.75rem}.u-comment .e-content{margin-top:0.5em;font-size:1rem}.container{position:relative;width:100%;height:0;padding-bottom:56.25%}.youtube{position:absolute;top:0;left:0;width:100%;height:100%}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}a{text-decoration:none;border-bottom:1px solid;color:blue}.social-links a{border-bottom:none}.icon{height:1em;width:auto}footer{font-size:0.5rem;text-align:center}footer p>a{border-bottom:none}.iwc-logo{width:100px;height:auto}.pagination{width:100%;height:3rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pagination li{list-style-type:none}.note-ui{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 600px){.note-ui>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:0.2rem}input[type="file"]{width:5vw}}@media (max-width: 599px){input[type="file"]{width:100%}textarea,input[type="text"]{width:100%}}.note-ui label{width:5em;margin-right:0.5rem;text-align:right}.note-ui input:not([type=submit]),.note-ui textarea{-webkit-box-flex:1;-ms-flex:1;flex:1}.note-ui textarea{padding:0.1rem 0.3rem}#locate{margin-right:0.4rem}.mp-media li{list-style-type:none}.mp-media img{height:4em;width:4em}.map{margin-top:4px;height:200px}.mapboxgl-ctrl-logo{border-bottom:none}.marker{background-image:url(data:image/png;base64,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);background-size:contain;width:20px;height:20px}.map-menu{position:absolute;top:0;left:0;background:white;padding:0.4rem}.map-menu label{margin-left:3px;margin-right:3px}.contact{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-top:1em;border-bottom:1px dashed grey}.contact img{margin-right:0.2rem;width:100px;height:100px}span[role=img][aria-label],span[role=img][aria-label]{position:relative}span[role=img][aria-label]:focus::after,span[role=img][aria-label]:hover::after{position:absolute;display:block;z-index:1;bottom:1.5em;left:0;max-width:5em;padding:0.5em 0.75em;border:0.05em solid #fff;border-radius:0.2em;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000;content:attr(aria-label);background-color:rgba(0,0,0,0.85);color:#fff;font-size:80%;-webkit-animation:TOOLTIP 0.1s ease-out 1;animation:TOOLTIP 0.1s ease-out 1}@-webkit-keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@media print{span[role=img][aria-label]::after{content:" (" attr(aria-label) ") "}} +/*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/public/assets/css/app.css.br b/public/assets/css/app.css.br index ff23df51..b0363f6f 100644 Binary files a/public/assets/css/app.css.br and b/public/assets/css/app.css.br differ diff --git a/public/assets/css/app.css.gz b/public/assets/css/app.css.gz index c7f0513a..8ebfed75 100644 Binary files a/public/assets/css/app.css.gz and b/public/assets/css/app.css.gz differ diff --git a/public/assets/css/app.css.map b/public/assets/css/app.css.map index dd378f35..8c75e88e 100644 --- a/public/assets/css/app.css.map +++ b/public/assets/css/app.css.map @@ -1,16 +1 @@ -{ - "version": 3, - "file": "app.css", - "sources": [ - "../../../resources/assets/sass/app.scss", - "../../../resources/assets/sass/layout.scss", - "../../../resources/assets/sass/styles.scss", - "../../../resources/assets/sass/pagination.scss", - "../../../resources/assets/sass/note-form.scss", - "../../../resources/assets/sass/mapbox.scss", - "../../../resources/assets/sass/contacts.scss", - "../../../resources/assets/sass/emoji.scss" - ], - "names": [], - "mappings": "AAIA,AAAA,IAAI,AAAC,CACD,UAAU,CAAE,UAAU,CACtB,SAAS,CAAE,IAAI,CAClB,AAED,AAAA,CAAC,CACD,AAAA,CAAC,AAAA,QAAQ,CACT,AAAA,CAAC,AAAA,OAAO,AAAC,CACL,UAAU,CAAE,OAAO,CACtB,ACXD,AAAA,IAAI,AAAC,CACD,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,MAAM,CACd,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,UAAU,CACxB,AAED,AAAA,UAAU,AAAC,CACP,UAAU,CAAE,MAAM,CACrB,AAED,AAAA,QAAQ,AAAC,CACL,WAAW,CAAE,IAAI,CACpB,AAED,AAAA,KAAK,AAAC,CACF,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACzB,AAED,AAAA,cAAc,AAAC,CACX,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAC9B,SAAS,CAAE,MAAM,CACpB,AAED,AAAM,KAAD,CAAC,GAAG,AAAC,CACN,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,iBAAiB,CAAE,UAAU,CAChC,AAED,AAAA,aAAa,AAAC,CACV,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACtB,AAED,AAAc,aAAD,CAAC,GAAG,AAAC,CACd,YAAY,CAAE,GAAG,CACpB,AAED,AAAa,YAAD,CAAC,GAAG,AAAC,CACb,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,IAAI,CACf,AAED,AAAO,IAAH,CAAG,OAAO,AAAC,CACX,UAAU,CAAE,GAAG,CACf,UAAU,CAAE,cAAc,CAC7B,AAED,AAAA,MAAM,AAAC,CACH,UAAU,CAAE,IAAI,CACnB,AAED,AAAO,MAAD,CAAC,MAAM,AAAC,CACV,WAAW,CAAE,GAAG,CACnB,AAED,AAAA,UAAU,AAAC,CACP,UAAU,CAAE,GAAG,CACf,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,OAAO,CACrB,AAED,AAAkB,UAAR,AAAA,OAAO,CAAC,GAAG,AAAC,CAClB,MAAM,CAAE,OAAO,CAClB,AAED,AAAW,UAAD,CAAC,UAAU,AAAC,CAClB,UAAU,CAAE,KAAK,CACjB,SAAS,CAAE,IAAI,CAClB,AAED,AAAA,UAAU,AAAC,CACP,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,cAAc,CAAE,MAAM,CACzB,AAED,AAAA,QAAQ,AAAC,CACL,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACf,ACzFD,AAAA,IAAI,AAAC,CAED,WAAW,CACP,iJAUU,CACjB,AAED,AAAA,CAAC,AAAC,CACE,eAAe,CAAE,IAAI,CACrB,aAAa,CAAE,SAAS,CACxB,KAAK,CAAE,IAAI,CACd,AAED,AAAc,aAAD,CAAC,CAAC,AAAC,CACZ,aAAa,CAAE,IAAI,CACtB,AAED,AAAA,KAAK,AAAC,CACF,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,IAAI,CACd,AAED,AAAA,MAAM,AAAC,CACH,SAAS,CAAE,MAAM,CACjB,UAAU,CAAE,MAAM,CACrB,AAED,AAAW,MAAL,CAAC,CAAC,CAAG,CAAC,AAAC,CACT,aAAa,CAAE,IAAI,CACtB,AAED,AAAA,SAAS,AAAC,CACN,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,IAAI,CACf,AC3CD,AAAA,WAAW,AAAC,CACR,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAC9B,WAAW,CAAE,MAAM,CACtB,AAED,AAAY,WAAD,CAAC,EAAE,AAAC,CACX,eAAe,CAAE,IAAI,CACxB,ACXD,AAAA,QAAQ,AAAC,CACL,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACzB,AAED,MAAM,EAAE,SAAS,EAAE,KAAK,EACpB,AAAW,QAAH,CAAG,GAAG,AAAC,CACX,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,OAAO,CAAE,MAAM,CAClB,AAED,AAAA,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAAa,CACf,KAAK,CAAE,GAAG,CACb,CAGL,MAAM,EAAE,SAAS,EAAE,KAAK,EACpB,AAAA,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAAa,CACf,KAAK,CAAE,IAAI,CACd,AAED,AAAA,QAAQ,CACR,AAAA,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAAa,CACf,KAAK,CAAE,IAAI,CACd,CAGL,AAAS,QAAD,CAAC,KAAK,AAAC,CACX,KAAK,CAAE,GAAG,CACV,YAAY,CAAE,MAAM,CACpB,UAAU,CAAE,KAAK,CACpB,AAED,AAAS,QAAD,CAAC,KAAK,AAAA,IAAK,EAAA,AAAA,AAAA,IAAC,CAAD,MAAC,AAAA,GACpB,AAAS,QAAD,CAAC,QAAQ,AAAC,CACd,IAAI,CAAE,CAAC,CACV,AAED,AAAS,QAAD,CAAC,QAAQ,AAAC,CACd,OAAO,CAAE,aAAa,CACzB,AAED,AAAA,OAAO,AAAC,CACJ,YAAY,CAAE,MAAM,CACvB,AAED,AAAU,SAAD,CAAC,EAAE,AAAC,CACT,eAAe,CAAE,IAAI,CACxB,AAED,AAAU,SAAD,CAAC,GAAG,AAAC,CACV,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,GAAG,CACb,ACtDD,AAAA,IAAI,AAAC,CACD,UAAU,CAAE,GAAG,CACf,MAAM,CAAE,KAAK,CAChB,AAED,AAAA,OAAO,AAAC,CACJ,gBAAgB,CAAE,u3HAAu3H,CACz4H,eAAe,CAAE,OAAO,CACxB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACf,AAED,AAAA,SAAS,AAAC,CACN,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,MAAM,CAClB,AAED,AAAU,SAAD,CAAC,KAAK,AAAC,CACZ,WAAW,CAAE,GAAG,CAChB,YAAY,CAAE,GAAG,CACpB,ACvBD,AAAA,QAAQ,AAAC,CACL,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,UAAU,CAAE,GAAG,CACf,aAAa,CAAE,eAAe,CACjC,AAED,AAAS,QAAD,CAAC,GAAG,AAAC,CACT,YAAY,CAAE,MAAM,CACpB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CAChB,ACTD,AAAA,IAAI,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,EAAS,AAAA,UAAC,AAAA,EACf,AAAA,IAAI,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,EAAS,AAAA,UAAC,AAAA,CAAY,CACvB,QAAQ,CAAE,QAAQ,CACrB,AAED,AAAA,IAAI,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,EAAS,AAAA,UAAC,AAAA,CAAW,MAAM,AAAA,OAAO,CACvC,AAAA,IAAI,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,EAAS,AAAA,UAAC,AAAA,CAAW,MAAM,AAAA,OAAO,AAAC,CACpC,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,KAAK,CACb,IAAI,CAAE,CAAC,CACP,SAAS,CAAE,GAAG,CACd,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,MAAM,CAAC,KAAK,CAAC,IAAsB,CAC3C,aAAa,CAAE,KAAK,CACpB,UAAU,CAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAgB,CAChD,OAAO,CAAE,gBAAgB,CACzB,gBAAgB,CAAE,gBAAmB,CACrC,KAAK,CAAE,IAAsB,CAC7B,SAAS,CAAE,GAAG,CACd,SAAS,CAAE,uBAAuB,CACrC,AAED,UAAU,CAAV,OAAU,CACN,AAAA,IAAI,CACA,MAAM,CAAE,KAAK,CACb,gBAAgB,CAAE,WAAgB,CAClC,MAAM,CAAE,MAAM,CAAC,KAAK,CAAC,mBAAsB,CAC3C,KAAK,CAAE,mBAAsB,CAC7B,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAgB,CAGtC,AAAA,EAAE,CACE,MAAM,CAAE,KAAK,CACb,gBAAgB,CAAE,gBAAmB,CACrC,MAAM,CAAE,MAAM,CAAC,KAAK,CAAC,IAAsB,CAC3C,KAAK,CAAE,IAAsB,CAC7B,UAAU,CAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAgB,EAIxD,MAAM,CAAC,KAAK,CACR,AAAA,IAAI,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,EAAS,AAAA,UAAC,AAAA,CAAW,OAAO,AAAC,CAC9B,OAAO,CAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtC" -} \ No newline at end of file +{"version":3,"sources":["../../../resources/assets/sass/app.scss","../../../resources/assets/sass/layout.scss","../../../resources/assets/sass/styles.scss","../../../resources/assets/sass/pagination.scss","../../../resources/assets/sass/note-form.scss","../../../resources/assets/sass/mapbox.scss","../../../resources/assets/sass/contacts.scss","../../../resources/assets/sass/emoji.scss"],"names":[],"mappings":"AAIA,KACI,8BACA,AADA,sBACA,cAAe,CAClB,qBAKG,2BAAmB,AAAnB,kBAAmB,CACtB,KCVG,eACA,cACA,iBACA,kBACA,oBAAqB,CACxB,WAGG,iBAAkB,CACrB,SAGG,gBAAiB,CACpB,MAGG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,eAGG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,gBAAiB,CACpB,UAGG,gBACA,WACA,4BAA6B,CAChC,cAGG,oBACA,AADA,oBACA,AADA,aACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,kBAGG,gBAAiB,CACpB,iBAGG,qBACA,WAAY,CACf,aAGG,eACA,yBAA0B,CAC7B,OAGG,eAAgB,CACnB,cAGG,eAAgB,CACnB,WAGG,eACA,cACA,iBAAkB,CACrB,sBAGG,cAAe,CAClB,sBAGG,iBACA,cAAe,CAClB,WAGG,kBACA,WACA,SACA,qBAAsB,CACzB,SAGG,kBACA,MACA,OACA,WACA,WAAY,CACf,KCvFG,6JAWc,CACjB,EAGG,qBACA,wBACA,UAAW,CACd,gBAGG,kBAAmB,CACtB,MAGG,WACA,UAAW,CACd,OAGG,iBACA,iBAAkB,CACrB,WAGG,kBAAmB,CACtB,UAGG,YACA,WAAY,CACf,YC1CG,WACA,YACA,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,eAGG,oBAAqB,CACxB,SCVG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,0BAGG,aACI,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,cAAe,CAClB,mBAGG,SAAU,CACb,CAGL,0BACI,mBACI,UAAW,CACd,4BAIG,UAAW,CACd,CAGL,eACI,UACA,oBACA,gBAAiB,CACpB,oDAIG,mBAAO,AAAP,WAAO,AAAP,MAAO,CACV,kBAGG,qBAAsB,CACzB,QAGG,mBAAoB,CACvB,aAGG,oBAAqB,CACxB,cAGG,WACA,SAAU,CACb,KCrDG,eACA,YAAa,CAChB,oBAGG,kBAAmB,CACtB,QAGG,y4HACA,wBACA,WACA,WAAY,CACf,UAGG,kBACA,MACA,OACA,iBACA,cAAe,CAClB,gBAGG,gBACA,gBAAiB,CACpB,SC1BG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,eACA,6BAA8B,CACjC,aAGG,oBACA,YACA,YAAa,CAChB,sDCPG,iBAAkB,CACrB,gFAIG,kBACA,cACA,UACA,aACA,OACA,cACA,qBACA,yBACA,oBACA,4CACA,AADA,oCACA,yBACA,kCACA,WACA,cACA,0CAAkC,AAAlC,iCAAkC,CACrC,2BAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,AApBC,mBAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,aACI,kCACI,kCAAmC,CACtC,CAAA","file":"app.css"} \ No newline at end of file diff --git a/public/assets/frontend/mapbox-gl.css b/public/assets/frontend/mapbox-gl.css index 841457e2..efca2ec6 100644 --- a/public/assets/frontend/mapbox-gl.css +++ b/public/assets/frontend/mapbox-gl.css @@ -18,6 +18,17 @@ cursor: grabbing; } +.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; +} +.mapboxgl-canvas-container.mapboxgl-touch-drag-pan { + -ms-touch-action: pinch-zoom; +} +.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan { + -ms-touch-action: none; + touch-action: none; +} .mapboxgl-ctrl-top-left, .mapboxgl-ctrl-top-right, .mapboxgl-ctrl-bottom-left, @@ -65,7 +76,7 @@ background-color: rgba(0,0,0,0.05); } .mapboxgl-ctrl-icon, -.mapboxgl-ctrl-icon > span.arrow { +.mapboxgl-ctrl-icon > .mapboxgl-ctrl-compass-arrow { speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -82,11 +93,16 @@ .mapboxgl-ctrl-icon.mapboxgl-ctrl-geolocate { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D%270%200%2020%2020%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0D%0A%20%20%3Cpath%20style%3D%27fill%3A%23333%3B%27%20d%3D%27M10%204C9%204%209%205%209%205L9%205.1A5%205%200%200%200%205.1%209L5%209C5%209%204%209%204%2010%204%2011%205%2011%205%2011L5.1%2011A5%205%200%200%200%209%2014.9L9%2015C9%2015%209%2016%2010%2016%2011%2016%2011%2015%2011%2015L11%2014.9A5%205%200%200%200%2014.9%2011L15%2011C15%2011%2016%2011%2016%2010%2016%209%2015%209%2015%209L14.9%209A5%205%200%200%200%2011%205.1L11%205C11%205%2011%204%2010%204zM10%206.5A3.5%203.5%200%200%201%2013.5%2010%203.5%203.5%200%200%201%2010%2013.5%203.5%203.5%200%200%201%206.5%2010%203.5%203.5%200%200%201%2010%206.5zM10%208.3A1.8%201.8%200%200%200%208.3%2010%201.8%201.8%200%200%200%2010%2011.8%201.8%201.8%200%200%200%2011.8%2010%201.8%201.8%200%200%200%2010%208.3z%27%20%2F%3E%0D%0A%3C%2Fsvg%3E"); } -.mapboxgl-ctrl-icon.mapboxgl-ctrl-geolocate.watching { +.mapboxgl-ctrl-icon.mapboxgl-ctrl-geolocate.mapboxgl-watching { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D%270%200%2020%2020%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0D%0A%20%20%3Cpath%20style%3D%27fill%3A%2300f%3B%27%20d%3D%27M10%204C9%204%209%205%209%205L9%205.1A5%205%200%200%200%205.1%209L5%209C5%209%204%209%204%2010%204%2011%205%2011%205%2011L5.1%2011A5%205%200%200%200%209%2014.9L9%2015C9%2015%209%2016%2010%2016%2011%2016%2011%2015%2011%2015L11%2014.9A5%205%200%200%200%2014.9%2011L15%2011C15%2011%2016%2011%2016%2010%2016%209%2015%209%2015%209L14.9%209A5%205%200%200%200%2011%205.1L11%205C11%205%2011%204%2010%204zM10%206.5A3.5%203.5%200%200%201%2013.5%2010%203.5%203.5%200%200%201%2010%2013.5%203.5%203.5%200%200%201%206.5%2010%203.5%203.5%200%200%201%2010%206.5zM10%208.3A1.8%201.8%200%200%200%208.3%2010%201.8%201.8%200%200%200%2010%2011.8%201.8%201.8%200%200%200%2011.8%2010%201.8%201.8%200%200%200%2010%208.3z%27%20%2F%3E%0D%0A%3C%2Fsvg%3E"); } - -.mapboxgl-ctrl-icon.mapboxgl-ctrl-compass > span.arrow { +.mapboxgl-ctrl-icon.mapboxgl-ctrl-fullscreen { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4KCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0iTGF5ZXJfMSIKICAgeD0iMHB4IgogICB5PSIwcHgiCiAgIHZpZXdCb3g9IjAgMCAyMCAyMCIKICAgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkxIHIxMzcyNSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iZnVsbHNjcmVlbi5zdmciPjxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTQxODUiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnM0MTgzIiAvPjxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTQ3MSIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI2OTUiCiAgICAgaWQ9Im5hbWVkdmlldzQxODEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjExLjMxMzcwOCIKICAgICBpbmtzY2FwZTpjeD0iMTQuNjk4MjgiCiAgICAgaW5rc2NhcGU6Y3k9IjEwLjUyNjY4OSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iNjk3IgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyOTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgogICAgIGlua3NjYXBlOnNuYXAtYmJveD0idHJ1ZSIKICAgICBpbmtzY2FwZTpiYm94LXBhdGhzPSJ0cnVlIgogICAgIGlua3NjYXBlOm9iamVjdC1wYXRocz0idHJ1ZSIKICAgICBpbmtzY2FwZTpiYm94LW5vZGVzPSJ0cnVlIgogICAgIGlua3NjYXBlOm9iamVjdC1ub2Rlcz0idHJ1ZSI+PGlua3NjYXBlOmdyaWQKICAgICAgIHR5cGU9Inh5Z3JpZCIKICAgICAgIGlkPSJncmlkNjA3NiIgLz48L3NvZGlwb2RpOm5hbWVkdmlldz48cGF0aAogICAgIGQ9Ik0gNSA0IEMgNC41IDQgNCA0LjUgNCA1IEwgNCA2IEwgNCA5IEwgNC41IDkgTCA1Ljc3NzM0MzggNy4yOTY4NzUgQyA2Ljc3NzEzMTkgOC4wNjAyMTMxIDcuODM1NzY1IDguOTU2NTcyOCA4Ljg5MDYyNSAxMCBDIDcuODI1NzEyMSAxMS4wNjMzIDYuNzc2MTc5MSAxMS45NTE2NzUgNS43ODEyNSAxMi43MDcwMzEgTCA0LjUgMTEgTCA0IDExIEwgNCAxNSBDIDQgMTUuNSA0LjUgMTYgNSAxNiBMIDkgMTYgTCA5IDE1LjUgTCA3LjI3MzQzNzUgMTQuMjA1MDc4IEMgOC4wNDI4OTMxIDEzLjE4Nzg4NiA4LjkzOTU0NDEgMTIuMTMzNDgxIDkuOTYwOTM3NSAxMS4wNjgzNTkgQyAxMS4wNDIzNzEgMTIuMTQ2OTkgMTEuOTQyMDkzIDEzLjIxMTIgMTIuNzA3MDMxIDE0LjIxODc1IEwgMTEgMTUuNSBMIDExIDE2IEwgMTQgMTYgTCAxNSAxNiBDIDE1LjUgMTYgMTYgMTUuNSAxNiAxNSBMIDE2IDE0IEwgMTYgMTEgTCAxNS41IDExIEwgMTQuMjA1MDc4IDEyLjcyNjU2MiBDIDEzLjE3Nzk4NSAxMS45NDk2MTcgMTIuMTEyNzE4IDExLjA0MzU3NyAxMS4wMzcxMDkgMTAuMDA5NzY2IEMgMTIuMTUxODU2IDguOTgxMDYxIDEzLjIyNDM0NSA4LjA3OTg2MjQgMTQuMjI4NTE2IDcuMzA0Njg3NSBMIDE1LjUgOSBMIDE2IDkgTCAxNiA1IEMgMTYgNC41IDE1LjUgNCAxNSA0IEwgMTEgNCBMIDExIDQuNSBMIDEyLjcwMzEyNSA1Ljc3NzM0MzggQyAxMS45MzI2NDcgNi43ODY0ODM0IDExLjAyNjY5MyA3Ljg1NTQ3MTIgOS45NzA3MDMxIDguOTE5OTIxOSBDIDguOTU4NDczOSA3LjgyMDQ5NDMgOC4wNjk4NzY3IDYuNzYyNzE4OCA3LjMwNDY4NzUgNS43NzE0ODQ0IEwgOSA0LjUgTCA5IDQgTCA2IDQgTCA1IDQgeiAiCiAgICAgaWQ9InBhdGg0MTY5IiAvPjwvc3ZnPg=="); +} +.mapboxgl-ctrl-icon.mapboxgl-ctrl-shrink { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4KCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0iTGF5ZXJfMSIKICAgeD0iMHB4IgogICB5PSIwcHgiCiAgIHZpZXdCb3g9IjAgMCAyMCAyMCIKICAgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkxIHIxMzcyNSIKICAgc29kaXBvZGk6ZG9jbmFtZT0ic2hyaW5rLnN2ZyI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTkiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnMxNyIgLz48c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjIwMjEiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTA4IgogICAgIGlkPSJuYW1lZHZpZXcxNSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMSIKICAgICBpbmtzY2FwZTpjeD0iNC45NTAxMDgyIgogICAgIGlua3NjYXBlOmN5PSIxMC44NTQ3NDciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgogICAgIGlua3NjYXBlOnNuYXAtYmJveD0idHJ1ZSIKICAgICBpbmtzY2FwZTpiYm94LXBhdGhzPSJ0cnVlIgogICAgIGlua3NjYXBlOnNuYXAtYmJveC1lZGdlLW1pZHBvaW50cz0idHJ1ZSIKICAgICBpbmtzY2FwZTpiYm94LW5vZGVzPSJ0cnVlIgogICAgIGlua3NjYXBlOnNuYXAtYmJveC1taWRwb2ludHM9InRydWUiCiAgICAgaW5rc2NhcGU6b2JqZWN0LXBhdGhzPSJ0cnVlIgogICAgIGlua3NjYXBlOm9iamVjdC1ub2Rlcz0idHJ1ZSI+PGlua3NjYXBlOmdyaWQKICAgICAgIHR5cGU9Inh5Z3JpZCIKICAgICAgIGlkPSJncmlkNDE0NyIgLz48L3NvZGlwb2RpOm5hbWVkdmlldz48cGF0aAogICAgIHN0eWxlPSJmaWxsOiMwMDAwMDAiCiAgICAgZD0iTSA0LjI0MjE4NzUgMy40OTIxODc1IEEgMC43NTAwNzUgMC43NTAwNzUgMCAwIDAgMy43MTg3NSA0Ljc4MTI1IEwgNS45NjQ4NDM4IDcuMDI3MzQzOCBMIDQgOC41IEwgNCA5IEwgOCA5IEMgOC41MDAwMDEgOC45OTk5OTg4IDkgOC40OTk5OTkyIDkgOCBMIDkgNCBMIDguNSA0IEwgNy4wMTc1NzgxIDUuOTU1MDc4MSBMIDQuNzgxMjUgMy43MTg3NSBBIDAuNzUwMDc1IDAuNzUwMDc1IDAgMCAwIDQuMjQyMTg3NSAzLjQ5MjE4NzUgeiBNIDE1LjczNDM3NSAzLjQ5MjE4NzUgQSAwLjc1MDA3NSAwLjc1MDA3NSAwIDAgMCAxNS4yMTg3NSAzLjcxODc1IEwgMTIuOTg0Mzc1IDUuOTUzMTI1IEwgMTEuNSA0IEwgMTEgNCBMIDExIDggQyAxMSA4LjQ5OTk5OTIgMTEuNDk5OTk5IDguOTk5OTk4OCAxMiA5IEwgMTYgOSBMIDE2IDguNSBMIDE0LjAzNTE1NiA3LjAyNzM0MzggTCAxNi4yODEyNSA0Ljc4MTI1IEEgMC43NTAwNzUgMC43NTAwNzUgMCAwIDAgMTUuNzM0Mzc1IDMuNDkyMTg3NSB6IE0gNCAxMSBMIDQgMTEuNSBMIDUuOTY0ODQzOCAxMi45NzI2NTYgTCAzLjcxODc1IDE1LjIxODc1IEEgMC43NTEzMDA5NiAwLjc1MTMwMDk2IDAgMSAwIDQuNzgxMjUgMTYuMjgxMjUgTCA3LjAyNzM0MzggMTQuMDM1MTU2IEwgOC41IDE2IEwgOSAxNiBMIDkgMTIgQyA5IDExLjUwMDAwMSA4LjUwMDAwMSAxMS4wMDAwMDEgOCAxMSBMIDQgMTEgeiBNIDEyIDExIEMgMTEuNDk5OTk5IDExLjAwMDAwMSAxMSAxMS41MDAwMDEgMTEgMTIgTCAxMSAxNiBMIDExLjUgMTYgTCAxMi45NzI2NTYgMTQuMDM1MTU2IEwgMTUuMjE4NzUgMTYuMjgxMjUgQSAwLjc1MTMwMDk2IDAuNzUxMzAwOTYgMCAxIDAgMTYuMjgxMjUgMTUuMjE4NzUgTCAxNC4wMzUxNTYgMTIuOTcyNjU2IEwgMTYgMTEuNSBMIDE2IDExIEwgMTIgMTEgeiAiCiAgICAgaWQ9InBhdGg3IiAvPjwvc3ZnPg=="); +} +.mapboxgl-ctrl-icon.mapboxgl-ctrl-compass > .mapboxgl-ctrl-compass-arrow { width: 20px; height: 20px; margin: 5px; @@ -95,12 +111,22 @@ display: inline-block; } +a.mapboxgl-ctrl-logo { + width: 85px; + height: 21px; + margin: 0 0 -3px -3px; + display: block; + background-repeat: no-repeat; + cursor: pointer; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiAgIHZpZXdCb3g9IjAgMCA4NC40OSAyMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgODQuNDkgMjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAgLnN0MHtvcGFjaXR5OjAuOTtmaWxsOiNGRkZGRkY7ZW5hYmxlLWJhY2tncm91bmQ6bmV3ICAgIDt9ICAuc3Qxe29wYWNpdHk6MC4zNTtlbmFibGUtYmFja2dyb3VuZDpuZXcgICAgO308L3N0eWxlPjxnPiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTgzLjI1LDE0LjI2YzAsMC4xMi0wLjA5LDAuMjEtMC4yMSwwLjIxaC0xLjYxYy0wLjEzLDAtMC4yNC0wLjA2LTAuMy0wLjE3bC0xLjQ0LTIuMzlsLTEuNDQsMi4zOSAgICBjLTAuMDYsMC4xMS0wLjE4LDAuMTctMC4zLDAuMTdoLTEuNjFjLTAuMDQsMC0wLjA4LTAuMDEtMC4xMi0wLjAzYy0wLjA5LTAuMDYtMC4xMy0wLjE5LTAuMDYtMC4yOGwwLDBsMi40My0zLjY4TDc2LjIsNi44NCAgICBjLTAuMDItMC4wMy0wLjAzLTAuMDctMC4wMy0wLjEyYzAtMC4xMiwwLjA5LTAuMjEsMC4yMS0wLjIxaDEuNjFjMC4xMywwLDAuMjQsMC4wNiwwLjMsMC4xN2wxLjQxLDIuMzZsMS40LTIuMzUgICAgYzAuMDYtMC4xMSwwLjE4LTAuMTcsMC4zLTAuMTdIODNjMC4wNCwwLDAuMDgsMC4wMSwwLjEyLDAuMDNjMC4wOSwwLjA2LDAuMTMsMC4xOSwwLjA2LDAuMjhsMCwwbC0yLjM3LDMuNjNsMi40MywzLjY3ICAgIEM4My4yNCwxNC4xOCw4My4yNSwxNC4yMiw4My4yNSwxNC4yNnoiLz4gIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02Ni4yNCw5LjU5Yy0wLjM5LTEuODgtMS45Ni0zLjI4LTMuODQtMy4yOGMtMS4wMywwLTIuMDMsMC40Mi0yLjczLDEuMThWMy41MWMwLTAuMTMtMC4xLTAuMjMtMC4yMy0wLjIzaC0xLjQgICAgYy0wLjEzLDAtMC4yMywwLjExLTAuMjMsMC4yM3YxMC43MmMwLDAuMTMsMC4xLDAuMjMsMC4yMywwLjIzaDEuNGMwLjEzLDAsMC4yMy0wLjExLDAuMjMtMC4yM1YxMy41YzAuNzEsMC43NSwxLjcsMS4xOCwyLjczLDEuMTggICAgYzEuODgsMCwzLjQ1LTEuNDEsMy44NC0zLjI5QzY2LjM3LDEwLjc5LDY2LjM3LDEwLjE4LDY2LjI0LDkuNTlMNjYuMjQsOS41OXogTTYyLjA4LDEzYy0xLjMyLDAtMi4zOS0xLjExLTIuNDEtMi40OHYtMC4wNiAgICBjMC4wMi0xLjM4LDEuMDktMi40OCwyLjQxLTIuNDhzMi40MiwxLjEyLDIuNDIsMi41MVM2My40MSwxMyw2Mi4wOCwxM3oiLz4gIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03MS42Nyw2LjMyYy0xLjk4LTAuMDEtMy43MiwxLjM1LTQuMTYsMy4yOWMtMC4xMywwLjU5LTAuMTMsMS4xOSwwLDEuNzdjMC40NCwxLjk0LDIuMTcsMy4zMiw0LjE3LDMuMyAgICBjMi4zNSwwLDQuMjYtMS44Nyw0LjI2LTQuMTlTNzQuMDQsNi4zMiw3MS42Nyw2LjMyeiBNNzEuNjUsMTMuMDFjLTEuMzMsMC0yLjQyLTEuMTItMi40Mi0yLjUxczEuMDgtMi41MiwyLjQyLTIuNTIgICAgYzEuMzMsMCwyLjQyLDEuMTIsMi40MiwyLjUxUzcyLjk5LDEzLDcxLjY1LDEzLjAxTDcxLjY1LDEzLjAxeiIvPiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTYyLjA4LDcuOThjLTEuMzIsMC0yLjM5LDEuMTEtMi40MSwyLjQ4djAuMDZDNTkuNjgsMTEuOSw2MC43NSwxMyw2Mi4wOCwxM3MyLjQyLTEuMTIsMi40Mi0yLjUxICAgIFM2My40MSw3Ljk4LDYyLjA4LDcuOTh6IE02Mi4wOCwxMS43NmMtMC42MywwLTEuMTQtMC41Ni0xLjE3LTEuMjV2LTAuMDRjMC4wMS0wLjY5LDAuNTQtMS4yNSwxLjE3LTEuMjUgICAgYzAuNjMsMCwxLjE3LDAuNTcsMS4xNywxLjI3QzYzLjI0LDExLjIsNjIuNzMsMTEuNzYsNjIuMDgsMTEuNzZ6Ii8+ICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNzEuNjUsNy45OGMtMS4zMywwLTIuNDIsMS4xMi0yLjQyLDIuNTFTNzAuMzIsMTMsNzEuNjUsMTNzMi40Mi0xLjEyLDIuNDItMi41MVM3Mi45OSw3Ljk4LDcxLjY1LDcuOTh6ICAgICBNNzEuNjUsMTEuNzZjLTAuNjQsMC0xLjE3LTAuNTctMS4xNy0xLjI3YzAtMC43LDAuNTMtMS4yNiwxLjE3LTEuMjZzMS4xNywwLjU3LDEuMTcsMS4yN0M3Mi44MiwxMS4yMSw3Mi4yOSwxMS43Niw3MS42NSwxMS43NnoiICAgIC8+ICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDUuNzQsNi41M2gtMS40Yy0wLjEzLDAtMC4yMywwLjExLTAuMjMsMC4yM3YwLjczYy0wLjcxLTAuNzUtMS43LTEuMTgtMi43My0xLjE4ICAgIGMtMi4xNywwLTMuOTQsMS44Ny0zLjk0LDQuMTlzMS43Nyw0LjE5LDMuOTQsNC4xOWMxLjA0LDAsMi4wMy0wLjQzLDIuNzMtMS4xOXYwLjczYzAsMC4xMywwLjEsMC4yMywwLjIzLDAuMjNoMS40ICAgIGMwLjEzLDAsMC4yMy0wLjExLDAuMjMtMC4yM1Y2Ljc0YzAtMC4xMi0wLjA5LTAuMjItMC4yMi0wLjIyQzQ1Ljc1LDYuNTMsNDUuNzUsNi41Myw0NS43NCw2LjUzeiBNNDQuMTIsMTAuNTMgICAgQzQ0LjExLDExLjksNDMuMDMsMTMsNDEuNzEsMTNzLTIuNDItMS4xMi0yLjQyLTIuNTFzMS4wOC0yLjUyLDIuNC0yLjUyYzEuMzMsMCwyLjM5LDEuMTEsMi40MSwyLjQ4TDQ0LjEyLDEwLjUzeiIvPiAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTQxLjcxLDcuOThjLTEuMzMsMC0yLjQyLDEuMTItMi40MiwyLjUxUzQwLjM3LDEzLDQxLjcxLDEzczIuMzktMS4xMSwyLjQxLTIuNDh2LTAuMDYgICAgQzQ0LjEsOS4wOSw0My4wMyw3Ljk4LDQxLjcxLDcuOTh6IE00MC41NSwxMC40OWMwLTAuNywwLjUyLTEuMjcsMS4xNy0xLjI3YzAuNjQsMCwxLjE0LDAuNTYsMS4xNywxLjI1djAuMDQgICAgYy0wLjAxLDAuNjgtMC41MywxLjI0LTEuMTcsMS4yNEM0MS4wOCwxMS43NSw0MC41NSwxMS4xOSw0MC41NSwxMC40OXoiLz4gIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01Mi40MSw2LjMyYy0xLjAzLDAtMi4wMywwLjQyLTIuNzMsMS4xOFY2Ljc1YzAtMC4xMy0wLjEtMC4yMy0wLjIzLTAuMjNoLTEuNGMtMC4xMywwLTAuMjMsMC4xMS0wLjIzLDAuMjMgICAgdjEwLjcyYzAsMC4xMywwLjEsMC4yMywwLjIzLDAuMjNoMS40YzAuMTMsMCwwLjIzLTAuMSwwLjIzLTAuMjNWMTMuNWMwLjcxLDAuNzUsMS43LDEuMTgsMi43NCwxLjE4YzIuMTcsMCwzLjk0LTEuODcsMy45NC00LjE5ICAgIFM1NC41OCw2LjMyLDUyLjQxLDYuMzJ6IE01Mi4wOCwxMy4wMWMtMS4zMiwwLTIuMzktMS4xMS0yLjQyLTIuNDh2LTAuMDdjMC4wMi0xLjM4LDEuMDktMi40OSwyLjQtMi40OWMxLjMyLDAsMi40MSwxLjEyLDIuNDEsMi41MSAgICBTNTMuNCwxMyw1Mi4wOCwxMy4wMUw1Mi4wOCwxMy4wMXoiLz4gIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik01Mi4wOCw3Ljk4Yy0xLjMyLDAtMi4zOSwxLjExLTIuNDIsMi40OHYwLjA2YzAuMDMsMS4zOCwxLjEsMi40OCwyLjQyLDIuNDhzMi40MS0xLjEyLDIuNDEtMi41MSAgICBTNTMuNCw3Ljk4LDUyLjA4LDcuOTh6IE01Mi4wOCwxMS43NmMtMC42MywwLTEuMTQtMC41Ni0xLjE3LTEuMjV2LTAuMDRjMC4wMS0wLjY5LDAuNTQtMS4yNSwxLjE3LTEuMjVjMC42MywwLDEuMTcsMC41OCwxLjE3LDEuMjcgICAgUzUyLjcyLDExLjc2LDUyLjA4LDExLjc2eiIvPiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTM2LjA4LDE0LjI0YzAsMC4xMy0wLjEsMC4yMy0wLjIzLDAuMjNoLTEuNDFjLTAuMTMsMC0wLjIzLTAuMTEtMC4yMy0wLjIzVjkuNjhjMC0wLjk4LTAuNzQtMS43MS0xLjYyLTEuNzEgICAgYy0wLjgsMC0xLjQ2LDAuNy0xLjU5LDEuNjJsMC4wMSw0LjY2YzAsMC4xMy0wLjExLDAuMjMtMC4yMywwLjIzaC0xLjQxYy0wLjEzLDAtMC4yMy0wLjExLTAuMjMtMC4yM1Y5LjY4ICAgIGMwLTAuOTgtMC43NC0xLjcxLTEuNjItMS43MWMtMC44NSwwLTEuNTQsMC43OS0xLjYsMS44djQuNDhjMCwwLjEzLTAuMSwwLjIzLTAuMjMsMC4yM2gtMS40Yy0wLjEzLDAtMC4yMy0wLjExLTAuMjMtMC4yM1Y2Ljc0ICAgIGMwLjAxLTAuMTMsMC4xLTAuMjIsMC4yMy0wLjIyaDEuNGMwLjEzLDAsMC4yMiwwLjExLDAuMjMsMC4yMlY3LjRjMC41LTAuNjgsMS4zLTEuMDksMi4xNi0xLjFoMC4wM2MxLjA5LDAsMi4wOSwwLjYsMi42LDEuNTUgICAgYzAuNDUtMC45NSwxLjQtMS41NSwyLjQ0LTEuNTZjMS42MiwwLDIuOTMsMS4yNSwyLjksMi43OEwzNi4wOCwxNC4yNHoiLz4gIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04NC4zNCwxMy41OWwtMC4wNy0wLjEzbC0xLjk2LTIuOTlsMS45NC0yLjk1YzAuNDQtMC42NywwLjI2LTEuNTYtMC40MS0yLjAyYy0wLjAyLDAtMC4wMywwLTAuMDQtMC4wMSAgICBjLTAuMjMtMC4xNS0wLjUtMC4yMi0wLjc4LTAuMjJoLTEuNjFjLTAuNTYsMC0xLjA4LDAuMjktMS4zNywwLjc4TDc5LjcyLDYuNmwtMC4zNC0wLjU2Qzc5LjA5LDUuNTYsNzguNTcsNS4yNyw3OCw1LjI3aC0xLjYgICAgYy0wLjYsMC0xLjEzLDAuMzctMS4zNSwwLjkyYy0yLjE5LTEuNjYtNS4yOC0xLjQ3LTcuMjYsMC40NWMtMC4zNSwwLjM0LTAuNjUsMC43Mi0wLjg5LDEuMTRjLTAuOS0xLjYyLTIuNTgtMi43Mi00LjUtMi43MiAgICBjLTAuNSwwLTEuMDEsMC4wNy0xLjQ4LDAuMjNWMy41MWMwLTAuODItMC42Ni0xLjQ4LTEuNDctMS40OGgtMS40Yy0wLjgxLDAtMS40NywwLjY2LTEuNDcsMS40N3YzLjc1ICAgIGMtMC45NS0xLjM2LTIuNS0yLjE4LTQuMTctMi4xOWMtMC43NCwwLTEuNDYsMC4xNi0yLjEyLDAuNDdjLTAuMjQtMC4xNy0wLjU0LTAuMjYtMC44NC0wLjI2aC0xLjRjLTAuNDUsMC0wLjg3LDAuMjEtMS4xNSwwLjU2ICAgIGMtMC4wMi0wLjAzLTAuMDQtMC4wNS0wLjA3LTAuMDhjLTAuMjgtMC4zLTAuNjgtMC40Ny0xLjA5LTAuNDdoLTEuMzljLTAuMywwLTAuNiwwLjA5LTAuODQsMC4yNmMtMC42Ny0wLjMtMS4zOS0wLjQ2LTIuMTItMC40NiAgICBjLTEuODMsMC0zLjQzLDEtNC4zNywyLjVjLTAuMi0wLjQ2LTAuNDgtMC44OS0wLjgzLTEuMjVjLTAuOC0wLjgxLTEuODktMS4yNS0zLjAyLTEuMjVoLTAuMDFjLTAuODksMC4wMS0xLjc1LDAuMzMtMi40NiwwLjg4ICAgIGMtMC43NC0wLjU3LTEuNjQtMC44OC0yLjU3LTAuODhIMjguMWMtMC4yOSwwLTAuNTgsMC4wMy0wLjg2LDAuMTFjLTAuMjgsMC4wNi0wLjU2LDAuMTYtMC44MiwwLjI4Yy0wLjIxLTAuMTItMC40NS0wLjE4LTAuNy0wLjE4ICAgIGgtMS40Yy0wLjgyLDAtMS40NywwLjY2LTEuNDcsMS40N3Y3LjVjMCwwLjgyLDAuNjYsMS40NywxLjQ3LDEuNDdoMS40YzAuODIsMCwxLjQ4LTAuNjYsMS40OC0xLjQ4bDAsMFY5Ljc5ICAgIGMwLjAzLTAuMzYsMC4yMy0wLjU5LDAuMzYtMC41OWMwLjE4LDAsMC4zOCwwLjE4LDAuMzgsMC40N3Y0LjU3YzAsMC44MiwwLjY2LDEuNDcsMS40NywxLjQ3aDEuNDFjMC44MiwwLDEuNDctMC42NiwxLjQ3LTEuNDcgICAgbC0wLjAxLTQuNTdjMC4wNi0wLjMyLDAuMjUtMC40NywwLjM1LTAuNDdjMC4xOCwwLDAuMzgsMC4xOCwwLjM4LDAuNDd2NC41N2MwLDAuODIsMC42NiwxLjQ3LDEuNDcsMS40N2gxLjQxICAgIGMwLjgyLDAsMS40Ny0wLjY2LDEuNDctMS40N3YtMC4zOGMwLjk2LDEuMjksMi40NiwyLjA2LDQuMDYsMi4wNmMwLjc0LDAsMS40Ni0wLjE2LDIuMTItMC40N2MwLjI0LDAuMTcsMC41NCwwLjI2LDAuODQsMC4yNmgxLjM5ICAgIGMwLjMsMCwwLjYtMC4wOSwwLjg0LTAuMjZ2Mi4wMWMwLDAuODIsMC42NiwxLjQ3LDEuNDcsMS40N2gxLjRjMC44MiwwLDEuNDctMC42NiwxLjQ3LTEuNDd2LTEuNzdjMC40OCwwLjE1LDAuOTksMC4yMywxLjQ5LDAuMjIgICAgYzEuNywwLDMuMjItMC44Nyw0LjE3LTIuMnYwLjUyYzAsMC44MiwwLjY2LDEuNDcsMS40NywxLjQ3aDEuNGMwLjMsMCwwLjYtMC4wOSwwLjg0LTAuMjZjMC42NiwwLjMxLDEuMzksMC40NywyLjEyLDAuNDcgICAgYzEuOTIsMCwzLjYtMS4xLDQuNDktMi43M2MxLjU0LDIuNjUsNC45NSwzLjUzLDcuNTgsMS45OGMwLjE4LTAuMTEsMC4zNi0wLjIyLDAuNTMtMC4zNmMwLjIyLDAuNTUsMC43NiwwLjkxLDEuMzUsMC45SDc4ICAgIGMwLjU2LDAsMS4wOC0wLjI5LDEuMzctMC43OGwwLjM3LTAuNjFsMC4zNywwLjYxYzAuMjksMC40OCwwLjgxLDAuNzgsMS4zOCwwLjc4aDEuNmMwLjgxLDAsMS40Ni0wLjY2LDEuNDUtMS40NiAgICBDODQuNDksMTQuMDIsODQuNDQsMTMuOCw4NC4zNCwxMy41OUw4NC4zNCwxMy41OXogTTM1Ljg2LDE0LjQ3aC0xLjQxYy0wLjEzLDAtMC4yMy0wLjExLTAuMjMtMC4yM1Y5LjY4ICAgIGMwLTAuOTgtMC43NC0xLjcxLTEuNjItMS43MWMtMC44LDAtMS40NiwwLjctMS41OSwxLjYybDAuMDEsNC42NmMwLDAuMTMtMC4xLDAuMjMtMC4yMywwLjIzaC0xLjQxYy0wLjEzLDAtMC4yMy0wLjExLTAuMjMtMC4yMyAgICBWOS42OGMwLTAuOTgtMC43NC0xLjcxLTEuNjItMS43MWMtMC44NSwwLTEuNTQsMC43OS0xLjYsMS44djQuNDhjMCwwLjEzLTAuMSwwLjIzLTAuMjMsMC4yM2gtMS40Yy0wLjEzLDAtMC4yMy0wLjExLTAuMjMtMC4yMyAgICBWNi43NGMwLjAxLTAuMTMsMC4xMS0wLjIyLDAuMjMtMC4yMmgxLjRjMC4xMywwLDAuMjIsMC4xMSwwLjIzLDAuMjJWNy40YzAuNS0wLjY4LDEuMy0xLjA5LDIuMTYtMS4xaDAuMDMgICAgYzEuMDksMCwyLjA5LDAuNiwyLjYsMS41NWMwLjQ1LTAuOTUsMS40LTEuNTUsMi40NC0xLjU2YzEuNjIsMCwyLjkzLDEuMjUsMi45LDIuNzhsMC4wMSw1LjE2QzM2LjA5LDE0LjM2LDM1Ljk4LDE0LjQ2LDM1Ljg2LDE0LjQ3ICAgIEwzNS44NiwxNC40N3ogTTQ1Ljk3LDE0LjI0YzAsMC4xMy0wLjEsMC4yMy0wLjIzLDAuMjNoLTEuNGMtMC4xMywwLTAuMjMtMC4xMS0wLjIzLTAuMjNWMTMuNWMtMC43LDAuNzYtMS42OSwxLjE4LTIuNzIsMS4xOCAgICBjLTIuMTcsMC0zLjk0LTEuODctMy45NC00LjE5czEuNzctNC4xOSwzLjk0LTQuMTljMS4wMywwLDIuMDIsMC40MywyLjczLDEuMThWNi43NGMwLTAuMTMsMC4xLTAuMjMsMC4yMy0wLjIzaDEuNCAgICBjMC4xMi0wLjAxLDAuMjIsMC4wOCwwLjIzLDAuMjFjMCwwLjAxLDAsMC4wMSwwLDAuMDJ2Ny41MWgtMC4wMVYxNC4yNHogTTUyLjQxLDE0LjY3Yy0xLjAzLDAtMi4wMi0wLjQzLTIuNzMtMS4xOHYzLjk3ICAgIGMwLDAuMTMtMC4xLDAuMjMtMC4yMywwLjIzaC0xLjRjLTAuMTMsMC0wLjIzLTAuMS0wLjIzLTAuMjNWNi43NWMwLTAuMTMsMC4xLTAuMjIsMC4yMy0wLjIyaDEuNGMwLjEzLDAsMC4yMywwLjExLDAuMjMsMC4yM3YwLjczICAgIGMwLjcxLTAuNzYsMS43LTEuMTgsMi43My0xLjE4YzIuMTcsMCwzLjk0LDEuODYsMy45NCw0LjE4UzU0LjU4LDE0LjY3LDUyLjQxLDE0LjY3eiBNNjYuMjQsMTEuMzljLTAuMzksMS44Ny0xLjk2LDMuMjktMy44NCwzLjI5ICAgIGMtMS4wMywwLTIuMDItMC40My0yLjczLTEuMTh2MC43M2MwLDAuMTMtMC4xLDAuMjMtMC4yMywwLjIzaC0xLjRjLTAuMTMsMC0wLjIzLTAuMTEtMC4yMy0wLjIzVjMuNTFjMC0wLjEzLDAuMS0wLjIzLDAuMjMtMC4yMyAgICBoMS40YzAuMTMsMCwwLjIzLDAuMTEsMC4yMywwLjIzdjMuOTdjMC43MS0wLjc1LDEuNy0xLjE4LDIuNzMtMS4xN2MxLjg4LDAsMy40NSwxLjQsMy44NCwzLjI4QzY2LjM3LDEwLjE5LDY2LjM3LDEwLjgsNjYuMjQsMTEuMzkgICAgTDY2LjI0LDExLjM5TDY2LjI0LDExLjM5eiBNNzEuNjcsMTQuNjhjLTIsMC4wMS0zLjczLTEuMzUtNC4xNy0zLjNjLTAuMTMtMC41OS0wLjEzLTEuMTksMC0xLjc3YzAuNDQtMS45NCwyLjE3LTMuMzEsNC4xNy0zLjMgICAgYzIuMzYsMCw0LjI2LDEuODcsNC4yNiw0LjE5Uzc0LjAzLDE0LjY4LDcxLjY3LDE0LjY4TDcxLjY3LDE0LjY4eiBNODMuMDQsMTQuNDdoLTEuNjFjLTAuMTMsMC0wLjI0LTAuMDYtMC4zLTAuMTdsLTEuNDQtMi4zOSAgICBsLTEuNDQsMi4zOWMtMC4wNiwwLjExLTAuMTgsMC4xNy0wLjMsMC4xN2gtMS42MWMtMC4wNCwwLTAuMDgtMC4wMS0wLjEyLTAuMDNjLTAuMDktMC4wNi0wLjEzLTAuMTktMC4wNi0wLjI4bDAsMGwyLjQzLTMuNjggICAgTDc2LjIsNi44NGMtMC4wMi0wLjAzLTAuMDMtMC4wNy0wLjAzLTAuMTJjMC0wLjEyLDAuMDktMC4yMSwwLjIxLTAuMjFoMS42MWMwLjEzLDAsMC4yNCwwLjA2LDAuMywwLjE3bDEuNDEsMi4zNmwxLjQxLTIuMzYgICAgYzAuMDYtMC4xMSwwLjE4LTAuMTcsMC4zLTAuMTdoMS42MWMwLjA0LDAsMC4wOCwwLjAxLDAuMTIsMC4wM2MwLjA5LDAuMDYsMC4xMywwLjE5LDAuMDYsMC4yOGwwLDBsLTIuMzgsMy42NGwyLjQzLDMuNjcgICAgYzAuMDIsMC4wMywwLjAzLDAuMDcsMC4wMywwLjEyQzgzLjI1LDE0LjM4LDgzLjE2LDE0LjQ3LDgzLjA0LDE0LjQ3TDgzLjA0LDE0LjQ3TDgzLjA0LDE0LjQ3eiIvPiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwLjUsMS4yNGMtNS4xMSwwLTkuMjUsNC4xNS05LjI1LDkuMjVzNC4xNSw5LjI1LDkuMjUsOS4yNXM5LjI1LTQuMTUsOS4yNS05LjI1ICAgIEMxOS43NSw1LjM4LDE1LjYxLDEuMjQsMTAuNSwxLjI0eiBNMTQuODksMTIuNzdjLTEuOTMsMS45My00Ljc4LDIuMzEtNi43LDIuMzFjLTAuNywwLTEuNDEtMC4wNS0yLjEtMC4xNmMwLDAtMS4wMi01LjY0LDIuMTQtOC44MSAgICBjMC44My0wLjgzLDEuOTUtMS4yOCwzLjEzLTEuMjhjMS4yNywwLDIuNDksMC41MSwzLjM5LDEuNDJDMTYuNTksOC4wOSwxNi42NCwxMSwxNC44OSwxMi43N3oiLz4gIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xMC41LTAuMDFDNC43LTAuMDEsMCw0LjcsMCwxMC40OXM0LjcsMTAuNSwxMC41LDEwLjVTMjEsMTYuMjksMjEsMTAuNDlDMjAuOTksNC43LDE2LjMtMC4wMSwxMC41LTAuMDF6ICAgICBNMTAuNSwxOS43NGMtNS4xMSwwLTkuMjUtNC4xNS05LjI1LTkuMjVzNC4xNC05LjI2LDkuMjUtOS4yNnM5LjI1LDQuMTUsOS4yNSw5LjI1QzE5Ljc1LDE1LjYxLDE1LjYxLDE5Ljc0LDEwLjUsMTkuNzR6Ii8+ICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTQuNzQsNi4yNUMxMi45LDQuNDEsOS45OCw0LjM1LDguMjMsNi4xYy0zLjE2LDMuMTctMi4xNCw4LjgxLTIuMTQsOC44MXM1LjY0LDEuMDIsOC44MS0yLjE0ICAgIEMxNi42NCwxMSwxNi41OSw4LjA5LDE0Ljc0LDYuMjV6IE0xMi40NywxMC4zNGwtMC45MSwxLjg3bC0wLjktMS44N0w4LjgsOS40M2wxLjg2LTAuOWwwLjktMS44N2wwLjkxLDEuODdsMS44NiwwLjlMMTIuNDcsMTAuMzR6IiAgICAvPiAgPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNC4zMyw5LjQzIDEyLjQ3LDEwLjM0IDExLjU2LDEyLjIxIDEwLjY2LDEwLjM0IDguOCw5LjQzIDEwLjY2LDguNTMgMTEuNTYsNi42NiAxMi40Nyw4LjUzICAgIi8+PC9nPjwvc3ZnPg==); +} + .mapboxgl-ctrl.mapboxgl-ctrl-attrib { padding: 0 5px; background-color: rgba(255, 255, 255, .5); margin: 0; } -.mapboxgl-ctrl-attrib.compact { +.mapboxgl-ctrl-attrib.mapboxgl-compact { padding-top: 2px; padding-bottom: 2px; margin: 0 10px 10px 10px; @@ -110,10 +136,10 @@ border-radius: 3px 12px 12px 3px; visibility: hidden; } -.mapboxgl-ctrl-attrib.compact:hover { +.mapboxgl-ctrl-attrib.mapboxgl-compact:hover { visibility: visible; } -.mapboxgl-ctrl-attrib.compact:after { +.mapboxgl-ctrl-attrib.mapboxgl-compact:after { content: ''; cursor: pointer; position: absolute; @@ -135,7 +161,7 @@ color: inherit; text-decoration: underline; } -.mapboxgl-ctrl-attrib .mapbox-improve-map { +.mapboxgl-ctrl-attrib .mapboxgl-improve-map { font-weight: bold; margin-left: 2px; } @@ -293,7 +319,7 @@ opacity: 0.5; } @media print { - .mapbox-improve-map { + .mapboxgl-improve-map { display:none; } } diff --git a/public/assets/frontend/mapbox-gl.css.br b/public/assets/frontend/mapbox-gl.css.br index 77fdd6f6..568187af 100644 Binary files a/public/assets/frontend/mapbox-gl.css.br and b/public/assets/frontend/mapbox-gl.css.br differ diff --git a/public/assets/frontend/mapbox-gl.css.gz b/public/assets/frontend/mapbox-gl.css.gz index 854b5e1e..ae0125e9 100644 Binary files a/public/assets/frontend/mapbox-gl.css.gz and b/public/assets/frontend/mapbox-gl.css.gz differ diff --git a/public/assets/frontend/normalize.css b/public/assets/frontend/normalize.css index 9b77e0eb..fa4e73dd 100644 --- a/public/assets/frontend/normalize.css +++ b/public/assets/frontend/normalize.css @@ -1,20 +1,18 @@ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Change the default font family in all browsers (opinionated). - * 2. Correct the line height in all browsers. - * 3. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - */ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + html { - font-family: sans-serif; /* 1 */ - line-height: 1.15; /* 2 */ - -ms-text-size-adjust: 100%; /* 3 */ - -webkit-text-size-adjust: 100%; /* 3 */ + line-height: 1.15; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections @@ -108,17 +106,7 @@ a { } /** - * Remove the outline on focused links when they are also active or hovered - * in all browsers (opinionated). - */ - -a:active, -a:hover { - outline-width: 0; -} - -/** - * 1. Remove the bottom border in Firefox 39-. + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ @@ -317,13 +305,11 @@ button:-moz-focusring, } /** - * Change the border, margin, and padding in all browsers (opinionated). + * Correct the padding in Firefox. */ fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; + padding: 0.35em 0.75em 0.625em; } /** diff --git a/public/assets/frontend/normalize.css.br b/public/assets/frontend/normalize.css.br index c6e3a886..c973dacc 100644 Binary files a/public/assets/frontend/normalize.css.br and b/public/assets/frontend/normalize.css.br differ diff --git a/public/assets/frontend/normalize.css.gz b/public/assets/frontend/normalize.css.gz index 7077e237..6fcd1c12 100644 Binary files a/public/assets/frontend/normalize.css.gz and b/public/assets/frontend/normalize.css.gz differ diff --git a/public/assets/jonnybarnes-public-key-ecc.asc b/public/assets/jonnybarnes-public-key-ecc.asc index 8b978b3b..17bdf257 100644 --- a/public/assets/jonnybarnes-public-key-ecc.asc +++ b/public/assets/jonnybarnes-public-key-ecc.asc @@ -3,14 +3,19 @@ mG8EV0W04xMFK4EEACIDAwSZOjA8NdI6UvbI/Sqw8LfpckfDXMuiowrVgcANjhDr vQtvr0bYm7RnNlbiuwTQHQ064H3pwjJJYC12I5B6q1Is7h4PYzU4/ahtisb03U/Q ThDDuWxDKQq2hcyfrNI02KO0I0pvbm55IEJhcm5lcyA8am9ubnlAam9ubnliYXJu -ZXMudWs+iJ8EExMKACcFAldFtOMCGwMFCQHhM4AFCwkIBwMFFQoJCAsFFgMCAQAC -HgECF4AACgkQGyx2r7FshZvSrAF+KMkuQT9BQfuIABIsO0PelQazXdNTKevOXafw -106fCYlMN0Hp4VPn5fECCa7D6jbzAX4wwSrN/4QuqMTKT8NlpncqD1wlACbfJtzT -AUrL+SpDYdhNoXAQbd0DJ8UN12S5oMS4cwRXRbTjEgUrgQQAIgMDBHSZG2tOrrTg -IWIDw51BHvsBVzyVGs3EU/Cju4lawgQ8E1VMdqwLg4JcC8aCb1s+CBBQ2g5Dh9QI -2YCCxV4alhD9vrubTJ2qNysel3R8hFsrmTJZi9g9GxnqZOCIqiytkgMBCQmIhwQY -EwoADwUCV0W04wIbDAUJAeEzgAAKCRAbLHavsWyFm5pnAYDDGoSt9oVjs8MrPNZj -POjI5i6+rP2D7t+ceSnhYfJ6m1pn85qb4kOOsiOtf3sB4IABgIRdK3p4ir1x6ikh -3RM9aDM/2ZzrI4t1TpPDWtkqXf9RdpGy7qG7IM9TNq1PY1EOrQ== -=zu6v +ZXMudWs+iLYEExMKAD4CGwMFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AWIQSEGbWh +2ITK9LCvj7MbLHavsWyFmwUCWSgPSgUJA8ON5wAKCRAbLHavsWyFm9hAAX9ymfnT +CUQDBqHmSR+YJ7RkNNFRdq4J1ABsvaRnpRynIE60dde1WqX62CvOkQDyY3sBgLJp +3KCNjB9VRoHHL3Gk1X78gxntU01wP+oYotA7tJescf34oM4CfzHoz4UdUTPK3Iif +BBMTCgAnBQJXRbTjAhsDBQkB4TOABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJ +EBssdq+xbIWb0qwBfijJLkE/QUH7iAASLDtD3pUGs13TUynrzl2n8NdOnwmJTDdB +6eFT5+XxAgmuw+o28wF+MMEqzf+ELqjEyk/DZaZ3Kg9cJQAm3ybc0wFKy/kqQ2HY +TaFwEG3dAyfFDddkuaDEuHMEV0W04xIFK4EEACIDAwR0mRtrTq604CFiA8OdQR77 +AVc8lRrNxFPwo7uJWsIEPBNVTHasC4OCXAvGgm9bPggQUNoOQ4fUCNmAgsVeGpYQ +/b67m0ydqjcrHpd0fIRbK5kyWYvYPRsZ6mTgiKosrZIDAQkJiJ4EGBMKACYCGwwW +IQSEGbWh2ITK9LCvj7MbLHavsWyFmwUCWSgPZQUJA8OOAgAKCRAbLHavsWyFm1fN +AYDMf1p4GegE1FHiUZo4m4Y5iQfbxT9Nmlgaopbmq+BxJRwPMxVzJOvKXo4DiUd0 +nncBgOJUJ8esy6WGw+lUfkfvRNkhPw9CVt1GifjG4axGHGaDyDQdFdRcIeFyu0Fs +7HsLmg== +=sdL6 -----END PGP PUBLIC KEY BLOCK----- diff --git a/public/assets/js/links.js b/public/assets/js/links.js index 3898da7e..e2bb71c9 100644 --- a/public/assets/js/links.js +++ b/public/assets/js/links.js @@ -1,133 +1,2 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; -/******/ -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 12); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ 12: -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -//links.js - -var youtubeRegex = /watch\?v=([A-Za-z0-9\-_]+)\b/; -var spotifyRegex = /https\:\/\/play\.spotify\.com\/(.*)\b/; - -var notes = document.querySelectorAll('.e-content'); - -var _iteratorNormalCompletion = true; -var _didIteratorError = false; -var _iteratorError = undefined; - -try { - for (var _iterator = notes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var note = _step.value; - - var ytid = note.textContent.match(youtubeRegex); - if (ytid) { - var ytcontainer = document.createElement('div'); - ytcontainer.classList.add('container'); - var ytiframe = document.createElement('iframe'); - ytiframe.classList.add('youtube'); - ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]); - ytiframe.setAttribute('frameborder', 0); - ytiframe.setAttribute('allowfullscreen', 'true'); - ytcontainer.appendChild(ytiframe); - note.appendChild(ytcontainer); - } - var spotifyid = note.textContent.match(spotifyRegex); - if (spotifyid) { - var sid = spotifyid[1].replace('/', ':'); - var siframe = document.createElement('iframe'); - siframe.classList.add('spotify'); - siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid); - siframe.setAttribute('frameborder', 0); - siframe.setAttribute('allowtransparency', 'true'); - note.appendChild(siframe); - } - } -} catch (err) { - _didIteratorError = true; - _iteratorError = err; -} finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } -} - -/***/ }) - -/******/ }); +!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=8)}({8:function(module,exports,__webpack_require__){"use strict";var youtubeRegex=/watch\?v=([A-Za-z0-9\-_]+)\b/,spotifyRegex=/https\:\/\/play\.spotify\.com\/(.*)\b/,notes=document.querySelectorAll(".e-content"),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=notes[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var note=_step.value,ytid=note.textContent.match(youtubeRegex);if(ytid){var ytcontainer=document.createElement("div");ytcontainer.classList.add("container");var ytiframe=document.createElement("iframe");ytiframe.classList.add("youtube"),ytiframe.setAttribute("src","https://www.youtube.com/embed/"+ytid[1]),ytiframe.setAttribute("frameborder",0),ytiframe.setAttribute("allowfullscreen","true"),ytcontainer.appendChild(ytiframe),note.appendChild(ytcontainer)}var spotifyid=note.textContent.match(spotifyRegex);if(spotifyid){var sid=spotifyid[1].replace("/",":"),siframe=document.createElement("iframe");siframe.classList.add("spotify"),siframe.setAttribute("src","https://embed.spotify.com/?uri=spotify:"+sid),siframe.setAttribute("frameborder",0),siframe.setAttribute("allowtransparency","true"),note.appendChild(siframe)}}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}}); //# sourceMappingURL=links.js.map \ No newline at end of file diff --git a/public/assets/js/links.js.br b/public/assets/js/links.js.br index 7406eab6..f6ffd192 100644 Binary files a/public/assets/js/links.js.br and b/public/assets/js/links.js.br differ diff --git a/public/assets/js/links.js.gz b/public/assets/js/links.js.gz index 08e5c8bb..20922311 100644 Binary files a/public/assets/js/links.js.gz and b/public/assets/js/links.js.gz differ diff --git a/public/assets/js/links.js.map b/public/assets/js/links.js.map index 8a49d382..d780c8a2 100644 --- a/public/assets/js/links.js.map +++ b/public/assets/js/links.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 0d56878049caba29cc1d?60c9**","webpack:///./links.js"],"names":["youtubeRegex","spotifyRegex","notes","document","querySelectorAll","note","ytid","textContent","match","ytcontainer","createElement","classList","add","ytiframe","setAttribute","appendChild","spotifyid","sid","replace","siframe"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;AChEA;;AAEA,IAAIA,eAAe,8BAAnB;AACA,IAAIC,eAAe,uCAAnB;;AAEA,IAAIC,QAAQC,SAASC,gBAAT,CAA0B,YAA1B,CAAZ;;;;;;;AAEA,yBAAiBF,KAAjB,8HAAwB;AAAA,YAAfG,IAAe;;AACpB,YAAIC,OAAOD,KAAKE,WAAL,CAAiBC,KAAjB,CAAuBR,YAAvB,CAAX;AACA,YAAIM,IAAJ,EAAU;AACN,gBAAIG,cAAcN,SAASO,aAAT,CAAuB,KAAvB,CAAlB;AACAD,wBAAYE,SAAZ,CAAsBC,GAAtB,CAA0B,WAA1B;AACA,gBAAIC,WAAWV,SAASO,aAAT,CAAuB,QAAvB,CAAf;AACAG,qBAASF,SAAT,CAAmBC,GAAnB,CAAuB,SAAvB;AACAC,qBAASC,YAAT,CAAsB,KAAtB,EAA6B,mCAAmCR,KAAK,CAAL,CAAhE;AACAO,qBAASC,YAAT,CAAsB,aAAtB,EAAqC,CAArC;AACAD,qBAASC,YAAT,CAAsB,iBAAtB,EAAyC,MAAzC;AACAL,wBAAYM,WAAZ,CAAwBF,QAAxB;AACAR,iBAAKU,WAAL,CAAiBN,WAAjB;AACH;AACD,YAAIO,YAAYX,KAAKE,WAAL,CAAiBC,KAAjB,CAAuBP,YAAvB,CAAhB;AACA,YAAIe,SAAJ,EAAe;AACX,gBAAIC,MAAMD,UAAU,CAAV,EAAaE,OAAb,CAAqB,GAArB,EAA0B,GAA1B,CAAV;AACA,gBAAIC,UAAUhB,SAASO,aAAT,CAAuB,QAAvB,CAAd;AACAS,oBAAQR,SAAR,CAAkBC,GAAlB,CAAsB,SAAtB;AACAO,oBAAQL,YAAR,CAAqB,KAArB,EAA4B,4CAA4CG,GAAxE;AACAE,oBAAQL,YAAR,CAAqB,aAArB,EAAoC,CAApC;AACAK,oBAAQL,YAAR,CAAqB,mBAArB,EAA0C,MAA1C;AACAT,iBAAKU,WAAL,CAAiBI,OAAjB;AACH;AACJ","file":"links.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0d56878049caba29cc1d","//links.js\n\nlet youtubeRegex = /watch\\?v=([A-Za-z0-9\\-_]+)\\b/;\nlet spotifyRegex = /https\\:\\/\\/play\\.spotify\\.com\\/(.*)\\b/;\n\nlet notes = document.querySelectorAll('.e-content');\n\nfor (let note of notes) {\n let ytid = note.textContent.match(youtubeRegex);\n if (ytid) {\n let ytcontainer = document.createElement('div');\n ytcontainer.classList.add('container');\n let ytiframe = document.createElement('iframe');\n ytiframe.classList.add('youtube');\n ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]);\n ytiframe.setAttribute('frameborder', 0);\n ytiframe.setAttribute('allowfullscreen', 'true');\n ytcontainer.appendChild(ytiframe);\n note.appendChild(ytcontainer);\n }\n let spotifyid = note.textContent.match(spotifyRegex);\n if (spotifyid) {\n let sid = spotifyid[1].replace('/', ':');\n let siframe = document.createElement('iframe');\n siframe.classList.add('spotify');\n siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);\n siframe.setAttribute('frameborder', 0);\n siframe.setAttribute('allowtransparency', 'true');\n note.appendChild(siframe);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./links.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:/webpack/bootstrap 43ebdd943e2791855d4e?c4b5***","webpack:///links.js"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","youtubeRegex","spotifyRegex","notes","document","querySelectorAll","_step","_iterator","Symbol","iterator","_iteratorNormalCompletion","next","done","note","ytid","textContent","match","ytcontainer","createElement","classList","add","ytiframe","setAttribute","appendChild","spotifyid","sid","replace","siframe"],"mappings":"mBAIA,QAAAA,qBAAAC,UAGA,GAAAC,iBAAAD,UACA,MAAAC,kBAAAD,UAAAE,OAGA,IAAAC,QAAAF,iBAAAD,WACAI,EAAAJ,SACAK,GAAA,EACAH,WAUA,OANAI,SAAAN,UAAAO,KAAAJ,OAAAD,QAAAC,OAAAA,OAAAD,QAAAH,qBAGAI,OAAAE,GAAA,EAGAF,OAAAD,QAvBA,GAAAD,oBA4BAF,qBAAAS,EAAAF,QAGAP,oBAAAU,EAAAR,iBAGAF,oBAAAK,EAAA,SAAAM,OAA2C,MAAAA,QAG3CX,oBAAAY,EAAA,SAAAT,QAAAU,KAAAC,QACAd,oBAAAe,EAAAZ,QAAAU,OACAG,OAAAC,eAAAd,QAAAU,MACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,UAMAd,oBAAAqB,EAAA,SAAAjB,QACA,GAAAU,QAAAV,QAAAA,OAAAkB,WACA,WAA2B,MAAAlB,QAAA,SAC3B,WAAiC,MAAAA,QAEjC,OADAJ,qBAAAY,EAAAE,OAAA,IAAAA,QACAA,QAIAd,oBAAAe,EAAA,SAAAQ,OAAAC,UAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,OAAAC,WAGtDxB,oBAAA2B,EAAA,GAGA3B,oBAAAA,oBAAA4B,EAAA,gEC9DA,IAAIC,cAAe,+BACfC,aAAe,wCAEfC,MAAQC,SAASC,iBAAiB,0FAEtC,IAAA,GAAAC,OAAAC,UAAiBJ,MAAjBK,OAAAC,cAAAC,2BAAAJ,MAAAC,UAAAI,QAAAC,MAAAF,2BAAA,EAAwB,CAAA,GAAfG,MAAeP,MAAAvB,MAChB+B,KAAOD,KAAKE,YAAYC,MAAMf,aAClC,IAAIa,KAAM,CACN,GAAIG,aAAcb,SAASc,cAAc,MACzCD,aAAYE,UAAUC,IAAI,YAC1B,IAAIC,UAAWjB,SAASc,cAAc,SACtCG,UAASF,UAAUC,IAAI,WACvBC,SAASC,aAAa,MAAO,iCAAmCR,KAAK,IACrEO,SAASC,aAAa,cAAe,GACrCD,SAASC,aAAa,kBAAmB,QACzCL,YAAYM,YAAYF,UACxBR,KAAKU,YAAYN,aAErB,GAAIO,WAAYX,KAAKE,YAAYC,MAAMd,aACvC,IAAIsB,UAAW,CACX,GAAIC,KAAMD,UAAU,GAAGE,QAAQ,IAAK,KAChCC,QAAUvB,SAASc,cAAc,SACrCS,SAAQR,UAAUC,IAAI,WACtBO,QAAQL,aAAa,MAAO,0CAA4CG,KACxEE,QAAQL,aAAa,cAAe,GACpCK,QAAQL,aAAa,oBAAqB,QAC1CT,KAAKU,YAAYI","file":"public/assets/js/links.js.map","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 43ebdd943e2791855d4e","//links.js\n\nlet youtubeRegex = /watch\\?v=([A-Za-z0-9\\-_]+)\\b/;\nlet spotifyRegex = /https\\:\\/\\/play\\.spotify\\.com\\/(.*)\\b/;\n\nlet notes = document.querySelectorAll('.e-content');\n\nfor (let note of notes) {\n let ytid = note.textContent.match(youtubeRegex);\n if (ytid) {\n let ytcontainer = document.createElement('div');\n ytcontainer.classList.add('container');\n let ytiframe = document.createElement('iframe');\n ytiframe.classList.add('youtube');\n ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]);\n ytiframe.setAttribute('frameborder', 0);\n ytiframe.setAttribute('allowfullscreen', 'true');\n ytcontainer.appendChild(ytiframe);\n note.appendChild(ytcontainer);\n }\n let spotifyid = note.textContent.match(spotifyRegex);\n if (spotifyid) {\n let sid = spotifyid[1].replace('/', ':');\n let siframe = document.createElement('iframe');\n siframe.classList.add('spotify');\n siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);\n siframe.setAttribute('frameborder', 0);\n siframe.setAttribute('allowtransparency', 'true');\n note.appendChild(siframe);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./links.js"]} \ No newline at end of file diff --git a/public/assets/js/maps.js b/public/assets/js/maps.js index 1d209241..7e1a7584 100644 --- a/public/assets/js/maps.js +++ b/public/assets/js/maps.js @@ -1,2872 +1,2 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; -/******/ -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 13); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -var g; - -// This works in non-strict mode -g = (function() { - return this; -})(); - -try { - // This works if eval is allowed (see CSP) - g = g || Function("return this")() || (1,eval)("this"); -} catch(e) { - // This works if the window reference is available - if(typeof window === "object") - g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = parseLocation; -//parse-location.js - -//text = `POINT(lon lat)` -function parseLocation(text) { - var coords = /POINT\((.*)\)/.exec(text); - var parsedLongitude = coords[1].split(' ')[0]; - var parsedLatitude = coords[1].split(' ')[1]; - - return { 'latitude': parsedLatitude, 'longitude': parsedLongitude }; -} - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addMap; - -var _mapboxGl = __webpack_require__(9); - -var _mapboxGl2 = _interopRequireDefault(_mapboxGl); - -var _parseLocation = __webpack_require__(1); - -var _parseLocation2 = _interopRequireDefault(_parseLocation); - -var _selectPlace = __webpack_require__(4); - -var _selectPlace2 = _interopRequireDefault(_selectPlace); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); } //mapbox-utils.js - - -_mapboxGl2.default.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw'; - -//define some functions to be used in the default function. -var titlecase = function titlecase(string) { - return string.split('-').map(function (_ref) { - var _ref2 = _toArray(_ref), - first = _ref2[0], - rest = _ref2.slice(1); - - return first.toUpperCase() + rest.join('').toLowerCase(); - }).join(' '); -}; - -var addMapTypeOption = function addMapTypeOption(map, menu, option) { - var checked = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - - var input = document.createElement('input'); - input.setAttribute('id', option); - input.setAttribute('type', 'radio'); - input.setAttribute('name', 'toggle'); - input.setAttribute('value', option); - if (checked == true) { - input.setAttribute('checked', 'checked'); - } - input.addEventListener('click', function () { - map.setStyle('mapbox://styles/mapbox/' + option + '-v9'); - }); - var label = document.createElement('label'); - label.setAttribute('for', option); - label.appendChild(document.createTextNode(titlecase(option))); - menu.appendChild(input); - menu.appendChild(label); -}; - -var makeMapMenu = function makeMapMenu(map) { - var mapMenu = document.createElement('div'); - mapMenu.classList.add('map-menu'); - addMapTypeOption(map, mapMenu, 'streets', true); - addMapTypeOption(map, mapMenu, 'satellite-streets'); - return mapMenu; -}; - -//the main function -function addMap(div) { - var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var places = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - var dataLatitude = div.dataset.latitude; - var dataLongitude = div.dataset.longitude; - var dataId = div.dataset.id; - var data = window['geojson' + dataId]; - if (data == null) { - data = { - 'type': 'FeatureCollection', - 'features': [{ - 'type': 'Feature', - 'geometry': { - 'type': 'Point', - 'coordinates': [dataLongitude, dataLatitude] - }, - 'properties': { - 'title': 'Current Location', - 'icon': 'circle-stroked', - 'uri': 'current-location' - } - }] - }; - } - if (places != null) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = places[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var place = _step.value; - - var placeLongitude = (0, _parseLocation2.default)(place.location).longitude; - var placeLatitude = (0, _parseLocation2.default)(place.location).latitude; - data.features.push({ - 'type': 'Feature', - 'geometry': { - 'type': 'Point', - 'coordinates': [placeLongitude, placeLatitude] - }, - 'properties': { - 'title': place.name, - 'icon': 'circle', - 'uri': place.slug - } - }); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - if (position != null) { - dataLongitude = position.coords.longitude; - dataLatitude = position.coords.latitude; - } - var map = new _mapboxGl2.default.Map({ - container: div, - style: 'mapbox://styles/mapbox/streets-v9', - center: [dataLongitude, dataLatitude], - zoom: 15 - }); - if (position == null) { - map.scrollZoom.disable(); - } - map.addControl(new _mapboxGl2.default.NavigationControl()); - div.appendChild(makeMapMenu(map)); - map.on('load', function () { - map.addSource('points', { - 'type': 'geojson', - 'data': data - }); - map.addLayer({ - 'id': 'points', - 'interactive': true, - 'type': 'symbol', - 'source': 'points', - 'layout': { - 'icon-image': '{icon}-15', - 'text-field': '{title}', - 'text-offset': [0, 1] - } - }); - }); - if (position != null) { - map.on('click', function (e) { - var features = map.queryRenderedFeatures(e.point, { - layer: ['points'] - }); - // if there are features within the given radius of the click event, - // fly to the location of the click event - if (features.length) { - // Get coordinates from the symbol and center the map on those coordinates - map.flyTo({ center: features[0].geometry.coordinates }); - (0, _selectPlace2.default)(features[0].properties.uri); - } - }); - } - if (data.features && data.features.length > 1) { - var bounds = new _mapboxGl2.default.LngLatBounds(); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = data.features[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var feature = _step2.value; - - bounds.extend(feature.geometry.coordinates); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - map.fitBounds(bounds, { padding: 65 }); - } - - return map; -} - -/***/ }), -/* 3 */, -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = selectPlaceInForm; -//select-place.js - -function selectPlaceInForm(uri) { - if (document.querySelector('select')) { - if (uri == 'current-location') { - document.querySelector('select [id="option-coords"]').selected = true; - } else { - document.querySelector('select [value="' + uri + '"]').selected = true; - } - } -} - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray - -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array - -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} - -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 - -function placeHoldersCount (b64) { - var len = b64.length - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0 -} - -function byteLength (b64) { - // base64 is 4/3 + up to two characters of the original data - return b64.length * 3 / 4 - placeHoldersCount(b64) -} - -function toByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - var len = b64.length - placeHolders = placeHoldersCount(b64) - - arr = new Arr(len * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? len - 4 : len - - var L = 0 - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] - arr[L++] = (tmp >> 16) & 0xFF - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF - } - - if (placeHolders === 2) { - tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[L++] = tmp & 0xFF - } else if (placeHolders === 1) { - tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var output = '' - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - output += lookup[tmp >> 2] - output += lookup[(tmp << 4) & 0x3F] - output += '==' - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + (uint8[len - 1]) - output += lookup[tmp >> 10] - output += lookup[(tmp >> 4) & 0x3F] - output += lookup[(tmp << 2) & 0x3F] - output += '=' - } - - parts.push(output) - - return parts.join('') -} - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - - - -var base64 = __webpack_require__(5) -var ieee754 = __webpack_require__(8) -var isArray = __webpack_require__(7) - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ -Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined - ? global.TYPED_ARRAY_SUPPORT - : typedArraySupport() - -/* - * Export kMaxLength after typed array support is determined. - */ -exports.kMaxLength = kMaxLength() - -function typedArraySupport () { - try { - var arr = new Uint8Array(1) - arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} - return arr.foo() === 42 && // typed array instances can be augmented - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` - } catch (e) { - return false - } -} - -function kMaxLength () { - return Buffer.TYPED_ARRAY_SUPPORT - ? 0x7fffffff - : 0x3fffffff -} - -function createBuffer (that, length) { - if (kMaxLength() < length) { - throw new RangeError('Invalid typed array length') - } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = new Uint8Array(length) - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - if (that === null) { - that = new Buffer(length) - } - that.length = length - } - - return that -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer (arg, encodingOrOffset, length) { - if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { - return new Buffer(arg, encodingOrOffset, length) - } - - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error( - 'If encoding is specified then the first argument must be a string' - ) - } - return allocUnsafe(this, arg) - } - return from(this, arg, encodingOrOffset, length) -} - -Buffer.poolSize = 8192 // not used by this implementation - -// TODO: Legacy, not needed anymore. Remove in next major version. -Buffer._augment = function (arr) { - arr.__proto__ = Buffer.prototype - return arr -} - -function from (that, value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number') - } - - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - return fromArrayBuffer(that, value, encodingOrOffset, length) - } - - if (typeof value === 'string') { - return fromString(that, value, encodingOrOffset) - } - - return fromObject(that, value) -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(null, value, encodingOrOffset, length) -} - -if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype - Buffer.__proto__ = Uint8Array - if (typeof Symbol !== 'undefined' && Symbol.species && - Buffer[Symbol.species] === Buffer) { - // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true - }) - } -} - -function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number') - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative') - } -} - -function alloc (that, size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(that, size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(that, size).fill(fill, encoding) - : createBuffer(that, size).fill(fill) - } - return createBuffer(that, size) -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(null, size, fill, encoding) -} - -function allocUnsafe (that, size) { - assertSize(size) - that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < size; ++i) { - that[i] = 0 - } - } - return that -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(null, size) -} -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(null, size) -} - -function fromString (that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding') - } - - var length = byteLength(string, encoding) | 0 - that = createBuffer(that, length) - - var actual = that.write(string, encoding) - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - that = that.slice(0, actual) - } - - return that -} - -function fromArrayLike (that, array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - that = createBuffer(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -function fromArrayBuffer (that, array, byteOffset, length) { - array.byteLength // this throws if `array` is not a valid ArrayBuffer - - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds') - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds') - } - - if (byteOffset === undefined && length === undefined) { - array = new Uint8Array(array) - } else if (length === undefined) { - array = new Uint8Array(array, byteOffset) - } else { - array = new Uint8Array(array, byteOffset, length) - } - - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = array - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - that = fromArrayLike(that, array) - } - return that -} - -function fromObject (that, obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - that = createBuffer(that, len) - - if (that.length === 0) { - return that - } - - obj.copy(that, 0, 0, len) - return that - } - - if (obj) { - if ((typeof ArrayBuffer !== 'undefined' && - obj.buffer instanceof ArrayBuffer) || 'length' in obj) { - if (typeof obj.length !== 'number' || isnan(obj.length)) { - return createBuffer(that, 0) - } - return fromArrayLike(that, obj) - } - - if (obj.type === 'Buffer' && isArray(obj.data)) { - return fromArrayLike(that, obj.data) - } - } - - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') -} - -function checked (length) { - // Note: cannot use `length < kMaxLength()` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + kMaxLength().toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (length) { - if (+length != length) { // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) -} - -Buffer.isBuffer = function isBuffer (b) { - return !!(b != null && b._isBuffer) -} - -Buffer.compare = function compare (a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - - if (list.length === 0) { - return Buffer.alloc(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } - - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer -} - -function byteLength (string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && - (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - string = '' + string - } - - var len = string.length - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -function slowToString (encoding, start, end) { - var loweredCase = false - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } - - if (end === undefined || end > this.length) { - end = this.length - } - - if (end <= 0) { - return '' - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 - - if (end <= start) { - return '' - } - - if (!encoding) encoding = 'utf8' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect -// Buffer instances. -Buffer.prototype._isBuffer = true - -function swap (b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i -} - -Buffer.prototype.swap16 = function swap16 () { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this -} - -Buffer.prototype.swap32 = function swap32 () { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this -} - -Buffer.prototype.swap64 = function swap64 () { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this -} - -Buffer.prototype.toString = function toString () { - var length = this.length | 0 - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) str += ' ... ' - } - return '' -} - -Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (!Buffer.isBuffer(target)) { - throw new TypeError('Argument must be a Buffer') - } - - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } - - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } - - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 - - if (this === target) return 0 - - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) - - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset // Coerce to Number. - if (isNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) byteOffset = 0 - else return -1 - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF // Search for a byte value [0-255] - if (Buffer.TYPED_ARRAY_SUPPORT && - typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) - } - - throw new TypeError('val must be string, number or Buffer') -} - -function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } - - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } - - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break - } - } - if (found) return i - } - } - - return -1 -} - -Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) -} - -Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (isNaN(parsed)) return i - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0 - if (isFinite(length)) { - length = length | 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function latin1Slice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; ++i) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = this.subarray(start, end) - newBuf.__proto__ = Buffer.prototype - } else { - var sliceLen = end - start - newBuf = new Buffer(sliceLen, undefined) - for (var i = 0; i < sliceLen; ++i) { - newBuf[i] = this[i + start] - } - } - - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - this[offset] = (value & 0xff) - return offset + 1 -} - -function objectWriteUInt16 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> - (littleEndian ? i : 1 - i) * 8 - } -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -function objectWriteUInt32 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff - } -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, start + len), - targetStart - ) - } - - return len -} - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if (code < 256) { - val = code - } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - } else if (typeof val === 'number') { - val = val & 255 - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } - - if (end <= start) { - return this - } - - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 - - if (!val) val = 0 - - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } - } else { - var bytes = Buffer.isBuffer(val) - ? val - : utf8ToBytes(new Buffer(val, encoding).toString()) - var len = bytes.length - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } - - return this -} - -// HELPER FUNCTIONS -// ================ - -var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function stringtrim (str) { - if (str.trim) return str.trim() - return str.replace(/^\s+|\s+$/g, '') -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -function isnan (val) { - return val !== val // eslint-disable-line no-self-compare -} - -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 7 */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; - - -/***/ }), -/* 8 */ -/***/ (function(module, exports) { - -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global, Buffer) {var require;var require;(function(f){if(true){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}); -},{}],3:[function(require,module,exports){ -function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){"undefined"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}; -},{}],4:[function(require,module,exports){ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})}); -},{}],5:[function(require,module,exports){ -"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}; -},{}],6:[function(require,module,exports){ -function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require("geojson-area");module.exports=rewind; -},{"geojson-area":6}],8:[function(require,module,exports){ -"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require("./feature"); -},{"./feature":10}],9:[function(require,module,exports){ -"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify; -},{}],13:[function(require,module,exports){ -"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; -},{}],18:[function(require,module,exports){ -"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range; -},{}],20:[function(require,module,exports){ -"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD; -},{}],21:[function(require,module,exports){ -"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within; -},{}],22:[function(require,module,exports){ -"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}"undefined"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}; -},{}],23:[function(require,module,exports){ -(function (process){ -function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),r||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require("ieee754"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.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?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(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(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}; -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"./buffer":24}],26:[function(require,module,exports){ -"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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 n=t.x-this.x,i=t.y-this.y;return n*n+i*i},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,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,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},_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 n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}; -},{}],27:[function(require,module,exports){ -function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort; -},{}],29:[function(require,module,exports){ -"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}; -},{"./vectortilefeature.js":36}],38:[function(require,module,exports){ -function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup; -},{"./program_configuration":58}],45:[function(require,module,exports){ -"use strict";var ArrayGroup=require("./array_group"),BufferGroup=require("./buffer_group"),util=require("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket; -},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60}],47:[function(require,module,exports){ -"use strict";var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}]),paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){"bevel"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?"butt":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&"round"===F&&(Ia&&(F="bevel"),"bevel"===F&&(I>2&&(F="flipbevel"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if("bevel"===F||"fakeround"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),"fakeround"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else"butt"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):"square"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):"round"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket; -},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"vector-tile":34}],50:[function(require,module,exports){ -"use strict";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require("point-geometry"),ArrayGroup=require("../array_group"),BufferGroup=require("../buffer_group"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),EXTENT=require("../extent"),Anchor=require("../../symbol/anchor"),getAnchors=require("../../symbol/get_anchors"),resolveTokens=require("../../util/token"),Quads=require("../../symbol/quads"),Shaping=require("../../symbol/shaping"),resolveText=require("../../symbol/resolve_text"),mergeLines=require("../../symbol/mergelines"),clipLine=require("../../symbol/clip_line"),util=require("../../util/util"),scriptDetection=require("../../util/script_detection"),loadGeometry=require("../load_geometry"),CollisionFeature=require("../../symbol/collision_feature"),findPoleOfInaccessibility=require("../../util/find_pole_of_inaccessibility"),classifyRings=require("../../util/classify_rings"),VectorTileFeature=require("vector-tile").VectorTileFeature,rtlTextPlugin=require("../../source/rtl_text_plugin"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_texture_pos",components:2,type:"Uint16"},{name:"a_data",components:4,type:"Uint8"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"text-color",type:"Uint8"},{name:"a_halo_color",property:"text-halo-color",type:"Uint8"},{name:"a_halo_width",property:"text-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"text-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"text-opacity",type:"Uint8",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"icon-color",type:"Uint8"},{name:"a_halo_color",property:"icon-halo-color",type:"Uint8"},{name:"a_halo_width",property:"icon-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"icon-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"icon-opacity",type:"Uint8",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a["text-font"],n=a["icon-image"],l=i&&(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if("line"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket; -},{"../../source/rtl_text_plugin":90,"../../symbol/anchor":157,"../../symbol/clip_line":159,"../../symbol/collision_feature":161,"../../symbol/get_anchors":163,"../../symbol/mergelines":166,"../../symbol/quads":167,"../../symbol/resolve_text":168,"../../symbol/shaping":169,"../../util/classify_rings":195,"../../util/find_pole_of_inaccessibility":201,"../../util/script_detection":209,"../../util/token":211,"../../util/util":212,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"point-geometry":26,"vector-tile":34}],51:[function(require,module,exports){ -"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}; -},{"../util/util":212,"./extent":54}],57:[function(require,module,exports){ -"use strict";var createStructArrayType=require("../util/struct_array"),PosArray=createStructArrayType({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray; -},{"../util/struct_array":210}],58:[function(require,module,exports){ -"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require("./vertex_array_type"),util=require("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty("lng")&&t.hasOwnProperty("lat"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat; -},{"../util/util":212}],63:[function(require,module,exports){ -"use strict";var LngLat=require("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds; -},{"./lng_lat":62}],64:[function(require,module,exports){ -"use strict";var LngLat=require("./lng_lat"),Point=require("point-geometry"),Coordinate=require("./coordinate"),util=require("../util/util"),interp=require("../util/interpolate"),TileCoord=require("../source/tile_coord"),EXTENT=require("../data/extent"),glmatrix=require("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform; -},{"../data/extent":54,"../source/tile_coord":94,"../util/interpolate":204,"../util/util":212,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(require,module,exports){ -"use strict";var browser=require("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=require("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require("./ui/map"),mapboxgl.NavigationControl=require("./ui/control/navigation_control"),mapboxgl.GeolocateControl=require("./ui/control/geolocate_control"),mapboxgl.AttributionControl=require("./ui/control/attribution_control"),mapboxgl.ScaleControl=require("./ui/control/scale_control"),mapboxgl.FullscreenControl=require("./ui/control/fullscreen_control"),mapboxgl.Popup=require("./ui/popup"),mapboxgl.Marker=require("./ui/marker"),mapboxgl.Style=require("./style/style"),mapboxgl.LngLat=require("./geo/lng_lat"),mapboxgl.LngLatBounds=require("./geo/lng_lat_bounds"),mapboxgl.Point=require("point-geometry"),mapboxgl.Evented=require("./util/evented"),mapboxgl.supported=require("./util/browser").supported;var config=require("./util/config");mapboxgl.config=config;var rtlTextPlugin=require("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}}); -},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":90,"./style/style":146,"./ui/control/attribution_control":173,"./ui/control/fullscreen_control":174,"./ui/control/geolocate_control":175,"./ui/control/navigation_control":177,"./ui/control/scale_control":178,"./ui/map":187,"./ui/marker":188,"./ui/popup":189,"./util/browser":192,"./util/config":196,"./util/evented":200,"point-geometry":26}],66:[function(require,module,exports){ -"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}; -},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":192,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(require,module,exports){ -"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require("../util/util");module.exports=drawRaster; -},{"../util/util":212}],74:[function(require,module,exports){ -"use strict";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout["text-allow-overlap"]||a.layout["icon-allow-overlap"]||a.layout["text-ignore-placement"]||a.layout["icon-ignore-placement"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint["icon-translate"],a.paint["icon-translate-anchor"],a.layout["icon-rotation-alignment"],a.layout["icon-rotation-alignment"],a.layout["icon-size"]),drawLayerSymbols(e,t,a,i,!0,a.paint["text-translate"],a.paint["text-translate-anchor"],a.layout["text-rotation-alignment"],a.layout["text-pitch-alignment"],a.layout["text-size"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m="map"===l,p="map"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory; -},{}],76:[function(require,module,exports){ -"use strict";var util=require("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}; -},{"../source/pixels_to_tile_units":87}],79:[function(require,module,exports){ -"use strict";var path=require("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n float r = floor(encodedColor[0]/256.0)/255.0;\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\n float b = floor(encodedColor[1]/256.0)/255.0;\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\n return vec4(r, g, b, a);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform lowp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n 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, pos);\n 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, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform int u_xdim;\nuniform int u_ydim;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos.x = a_pos.x / float(u_xdim);\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\n}\n"},line:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n" -},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_font_scale;\nuniform highp float u_gamma_scale;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}; -},{"path":23}],80:[function(require,module,exports){ -"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource; -},{"../data/extent":54,"../util/evented":200,"../util/util":212,"../util/window":194}],83:[function(require,module,exports){ -"use strict";var ajax=require("../util/ajax"),rewind=require("geojson-rewind"),GeoJSONWrapper=require("./geojson_wrapper"),vtpbf=require("vt-pbf"),supercluster=require("supercluster"),geojsonvt=require("geojson-vt"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource; -},{"../util/ajax":191,"./geojson_wrapper":84,"./vector_tile_worker_source":96,"geojson-rewind":7,"geojson-vt":11,"supercluster":29,"vt-pbf":38}],84:[function(require,module,exports){ -"use strict";var Point=require("point-geometry"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTENT=require("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource; -},{"../util/evented":200,"../util/mapbox":208,"../util/util":212,"./load_tilejson":86}],96:[function(require,module,exports){ -"use strict";var ajax=require("../util/ajax"),vt=require("vector-tile"),Protobuf=require("pbf"),WorkerTile=require("./worker_tile"),util=require("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource; -},{"../util/ajax":191,"../util/util":212,"./worker_tile":99,"pbf":25,"vector-tile":34}],97:[function(require,module,exports){ -"use strict";var ajax=require("../util/ajax"),ImageSource=require("./image_source"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource; -},{"../util/ajax":191,"./image_source":85}],98:[function(require,module,exports){ -"use strict";var Actor=require("../util/actor"),StyleLayerIndex=require("../style/style_layer_index"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=require("./geojson_worker_source"),globalRTLTextPlugin=require("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}; -},{"../style/style_layer_index":154,"../util/actor":190,"./geojson_worker_source":83,"./rtl_text_plugin":90,"./vector_tile_worker_source":96}],99:[function(require,module,exports){ -"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true";return"("+n+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]; -},{}],104:[function(require,module,exports){ -"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}; -},{}],105:[function(require,module,exports){ -"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return"function"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){} -},{}],108:[function(require,module,exports){ -function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(n=objKeys(r).sort(),t=n.length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace; -},{}],109:[function(require,module,exports){ -function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments; -},{}],113:[function(require,module,exports){ -function isObjectLike(t){return!!t&&"object"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray; -},{}],114:[function(require,module,exports){ -function isEqual(a,l,i,e){i="function"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");module.exports=isEqual; -},{"lodash._baseisequal":109,"lodash._bindcallback":110}],115:[function(require,module,exports){ -function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray; -},{}],116:[function(require,module,exports){ -function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"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":false}},"function_stop":{"type":"array","minimum":0,"maximum":22,"value":["number","color"],"length":2},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"transition":false},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"function":"interpolated","zoom-function":true,"property-function":false},"color":{"type":"color","default":"#ffffff","function":"interpolated","zoom-function":true,"property-function":false,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":false,"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],"paint_fill":{"fill-antialias":{"type":"boolean","function":"piecewise-constant","zoom-function":true,"default":true},"fill-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"}]},"fill-outline-color":{"type":"color","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}]},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"]},"fill-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":false,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-extrusion-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-extrusion-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"]},"fill-extrusion-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"fill-extrusion-height":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true},"fill-extrusion-base":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"]}},"paint_line":{"line-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"line-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"line-pattern"}]},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"]},"line-width":{"type":"number","default":1,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-gap-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-offset":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-dasharray":{"type":"array","value":"number","function":"piecewise-constant","zoom-function":true,"minimum":0,"transition":true,"units":"line widths","requires":[{"!":"line-pattern"}]},"line-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-blur":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"circle-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"]},"circle-pitch-scale":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-stroke-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"]},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"]}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-hue-rotate":{"type":"number","default":0,"period":360,"function":"interpolated","zoom-function":true,"transition":true,"units":"degrees"},"raster-brightness-min":{"type":"number","function":"interpolated","zoom-function":true,"default":0,"minimum":0,"maximum":1,"transition":true},"raster-brightness-max":{"type":"number","function":"interpolated","zoom-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"milliseconds"}},"paint_background":{"background-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"transition":true,"requires":[{"!":"background-pattern"}]},"background-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}}} -},{}],119:[function(require,module,exports){ -"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}; -},{"../error/validation_error":102,"../util/extend":119,"../util/get_type":120,"./validate_array":125,"./validate_boolean":126,"./validate_color":127,"./validate_constants":128,"./validate_enum":129,"./validate_filter":130,"./validate_function":131,"./validate_layer":133,"./validate_light":135,"./validate_number":136,"./validate_object":137,"./validate_source":140,"./validate_string":141}],125:[function(require,module,exports){ -"use strict";var getType=require("../util/get_type"),validate=require("./validate"),ValidationError=require("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}; -},{"../error/validation_error":102,"../util/get_type":120}],129:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}; -},{"../error/validation_error":102,"../util/unbundle_jsonlint":123}],130:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),validateEnum=require("./validate_enum"),getType=require("../util/get_type"),unbundle=require("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&(t=getType(a[1]),"string"!==t&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found";return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}; -},{"../error/validation_error":102,"../util/get_type":120,"../util/unbundle_jsonlint":123,"./validate":124,"./validate_array":125,"./validate_number":136,"./validate_object":137}],132:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),validateString=require("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf("{fontstack}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}; -},{"../error/validation_error":102,"./validate_string":141}],133:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateFilter=require("./validate_filter"),validatePaintProperty=require("./validate_paint_property"),validateLayoutProperty=require("./validate_layout_property"),extend=require("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}; -},{"../error/validation_error":102,"../util/get_type":120}],137:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),getType=require("../util/get_type"),validateSpec=require("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}; -},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],138:[function(require,module,exports){ -"use strict";var validateProperty=require("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}; -},{"./validate_property":139}],139:[function(require,module,exports){ -"use strict";var validate=require("./validate"),ValidationError=require("../error/validation_error"),getType=require("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}; -},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],140:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateEnum=require("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var u=unbundle(a.type),i=[];switch(u){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}; -},{"../error/validation_error":102,"../util/unbundle_jsonlint":123,"./validate_enum":129,"./validate_object":137}],141:[function(require,module,exports){ -"use strict";var getType=require("../util/get_type"),ValidationError=require("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}; -},{"../error/validation_error":102,"../util/get_type":120}],142:[function(require,module,exports){ -"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require("./validate/validate_constants"),validate=require("./validate/validate"),latestStyleSpec=require("./reference/latest"),validateGlyphsURL=require("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(require("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(require("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(require("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(require("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(require("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(require("./validate/validate_layout_property")),module.exports=validateStyleMin; -},{"./reference/latest":117,"./validate/validate":124,"./validate/validate_constants":128,"./validate/validate_filter":130,"./validate/validate_glyphs_url":132,"./validate/validate_layer":133,"./validate/validate_layout_property":134,"./validate/validate_light":135,"./validate/validate_paint_property":138,"./validate/validate_source":140}],143:[function(require,module,exports){ -"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop; -},{}],144:[function(require,module,exports){ -"use strict";var Evented=require("../util/evented"),ajax=require("../util/ajax"),browser=require("../util/browser"),normalizeURL=require("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?"@2x":"";ajax.getJSON(normalizeURL(i,r,".json"),function(t,i){return t?void a.fire("error",{error:t}):(a.data=i,void(a.imgData&&a.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(i,r,".png"),function(t,i){if(t)return void a.fire("error",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on("data",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite; -},{"../util/ajax":191,"../util/browser":192,"../util/evented":200,"../util/mapbox":208}],145:[function(require,module,exports){ -"use strict";var styleSpec=require("../style-spec/reference/latest"),util=require("../util/util"),Evented=require("../util/evented"),validateStyle=require("./validate_style"),StyleDeclaration=require("./style_declaration"),StyleTransition=require("./style_transition"),TRANSITION_SUFFIX="-transition",Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");var o=["vector","raster","geojson","video","image","canvas"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition; -},{"../util/interpolate":204,"../util/util":212}],156:[function(require,module,exports){ -"use strict";module.exports=require("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle; -},{}],159:[function(require,module,exports){ -"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require("point-geometry");module.exports=clipLine; -},{"point-geometry":26}],160:[function(require,module,exports){ -"use strict";var createStructArrayType=require("../util/struct_array"),Point=require("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{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:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray; -},{"../util/struct_array":210,"point-geometry":26}],161:[function(require,module,exports){ -"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature; -},{}],162:[function(require,module,exports){ -"use strict";var Point=require("point-geometry"),EXTENT=require("../data/extent"),Grid=require("grid-index"),intersectionTests=require("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require("../util/interpolate"),Anchor=require("../symbol/anchor"),checkMaxAngle=require("./check_max_angle");module.exports=getAnchors; -},{"../symbol/anchor":157,"../util/interpolate":204,"./check_max_angle":158}],164:[function(require,module,exports){ -"use strict";var ShelfPack=require("@mapbox/shelf-pack"),util=require("../util/util"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+"-"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}; -},{"../util/dom":199,"./handler/box_zoom":179,"./handler/dblclick_zoom":180,"./handler/drag_pan":181,"./handler/drag_rotate":182,"./handler/keyboard":183,"./handler/scroll_zoom":184,"./handler/touch_zoom_rotate":185,"point-geometry":26}],172:[function(require,module,exports){ -"use strict";var util=require("../util/util"),interpolate=require("../util/interpolate"),browser=require("../util/browser"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),Evented=require("../util/evented"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),["bottom","left","right","top"]))return void util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),"center"in t&&(e.center=LngLat.convert(t.center)),"bearing"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),"pitch"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire("movestart",i).fire("move",i),o&&this.fire("zoomstart",i).fire("zoom",i).fire("zoomend",i),n&&this.fire("rotate",i),r&&this.fire("pitch",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p="zoom"in t?+t.zoom:a,c="bearing"in t?this._normalizeBearing(t.bearing,h):h,g="pitch"in t?+t.pitch:u;"center"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):"around"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire("movestart",i)),this.zooming&&this.fire("zoomstart",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire("move",i),this.zooming&&this.fire("zoom",i),this.rotating&&this.fire("rotate",i),this.pitching&&this.fire("pitch",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c="center"in t?LngLat.convert(t.center):this.getCenter(),g="zoom"in t?+t.zoom:h,m="bearing"in t?this._normalizeBearing(t.bearing,u):u,f="pitch"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v="center"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if("minZoom"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("compact")},module.exports=AttributionControl; -},{"../../util/dom":199,"../../util/util":212}],174:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",t=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),l=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return l.setAttribute("aria-label","Toggle fullscreen"),l.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],175:[function(require,module,exports){ -"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require("../../util/evented"),DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className="mapboxgl-ctrl",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button",className+"-icon "+className+"-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl; -},{"../../util/dom":199,"../../util/evented":200,"../../util/util":212,"../../util/window":194}],176:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl; -},{"../../util/dom":199,"../../util/util":212}],177:[function(require,module,exports){ -"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass),this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],178:[function(require,module,exports){ -"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,"mi")}else setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require("../../util/dom"),util=require("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl; -},{"../../util/dom":199,"../../util/util":212}],179:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),LngLatBounds=require("../../geo/lng_lat_bounds"),util=require("../../util/util"),window=require("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=r-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler; -},{"../../geo/lng_lat_bounds":63,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],180:[function(require,module,exports){ -"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler; -},{}],181:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return"mousemove"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],182:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],183:[function(require,module,exports){ -"use strict";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler; -},{}],184:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),browser=require("../../util/browser"),window=require("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf("firefox")!==-1,safari=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler; -},{"../../util/browser":192,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],185:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],186:[function(require,module,exports){ -"use strict";var util=require("../util/util"),window=require("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash; -},{"../util/util":212,"../util/window":194}],187:[function(require,module,exports){ -"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require("../util/util"),browser=require("../util/browser"),window=require("../util/window"),DOM=require("../util/dom"),Style=require("../style/style"),AnimationLoop=require("../style/animation_loop"),Painter=require("../render/painter"),Transform=require("../geo/transform"),Hash=require("./hash"),bindHandlers=require("./bind_handlers"),Camera=require("./camera"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),AttributionControl=require("./control/attribution_control"),LogoControl=require("./control/logo_control"),isSupported=require("mapbox-gl-supported"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),"undefined"!=typeof window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf("bottom")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||"number"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&"string"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off("rotate",this.style._redoPlacement),this.off("pitch",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on("rotate",this.style._redoPlacement),this.on("pitch",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire("error",{error:new Error("There is no source with ID '"+t+"'")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map");var e=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=DOM.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",0),this._canvas.setAttribute("aria-label","Map");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create("div","mapboxgl-control-container",t),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){r[t]=DOM.create("div","mapboxgl-ctrl-"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire("error",{error:new Error("Failed to initialize WebGL")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire("webglcontextlost",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire("webglcontextrestored",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire("render"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire("load")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),"undefined"!=typeof window&&(window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1));var t=this.painter.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove("mapboxgl-map"),this.fire("remove")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update("style"===t.dataType),this.fire(t.dataType+"data",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+"dataloading",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map; -},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../geo/transform":64,"../render/painter":77,"../style/animation_loop":143,"../style/style":146,"../util/browser":192,"../util/dom":199,"../util/util":212,"../util/window":194,"./bind_handlers":171,"./camera":172,"./control/attribution_control":173,"./control/logo_control":176,"./hash":186,"mapbox-gl-supported":22,"point-geometry":26}],188:[function(require,module,exports){ -"use strict";var DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create("div")),t.classList.add("mapboxgl-marker"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&"moveend"!==t.type||(e=e.round()),DOM.setTransform(this._element,"translate("+e.x+"px, "+e.y+"px)")}},module.exports=Marker; -},{"../geo/lng_lat":62,"../util/dom":199,"point-geometry":26}],189:[function(require,module,exports){ -"use strict";function normalizeOffset(t){if(t){if("number"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),"top-left":new Point(o,o),"top-right":new Point(-o,o),bottom:new Point(0,-t),"bottom-left":new Point(o,-o),"bottom-right":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),"top-left":Point.convert(t["top-left"]||[0,0]),"top-right":Point.convert(t["top-right"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),"bottom-left":Point.convert(t["bottom-left"]||[0,0]),"bottom-right":Point.convert(t["bottom-right"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require("../util/util"),Evented=require("../util/evented"),DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),window=require("../util/window"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll(["_update","_onClickClose"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire("close"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement("body");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=DOM.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-n/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var r=e.add(o[t]),s={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%)"},p=this._container.classList;for(var a in s)p.remove("mapboxgl-popup-anchor-"+a);p.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,s[t]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup; -},{"../geo/lng_lat":62,"../util/dom":199,"../util/evented":200,"../util/util":212,"../util/window":194,"point-geometry":26}],190:[function(require,module,exports){ -"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if("undefined"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if("undefined"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split("."),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor; -},{}],191:[function(require,module,exports){ -"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require("./window");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.setRequestHeader("Accept","application/json"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error("http status 200 returned without content.")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:"image/png"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement("video");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="; -},{"./window":194,"mapbox-gl-supported":22}],193:[function(require,module,exports){ -"use strict";var WebWorkify=require("webworkify"),window=require("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(require("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}; -},{"../../source/worker":98,"../window":194,"webworkify":41}],194:[function(require,module,exports){ -"use strict";module.exports=self; -},{}],195:[function(require,module,exports){ -"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=require("quickselect"),calculateSignedArea=require("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented; -},{"./util":212}],201:[function(require,module,exports){ -"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}; -},{"./intersection_tests":205,"point-geometry":26,"tinyqueue":30}],202:[function(require,module,exports){ -"use strict";var WorkerPool=require("./worker_pool"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}; -},{"./worker_pool":215}],203:[function(require,module,exports){ -"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs; -},{}],204:[function(require,module,exports){ -"use strict";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})}; -},{}],205:[function(require,module,exports){ -"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}; -},{"./util":212}],206:[function(require,module,exports){ -"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup; -},{}],207:[function(require,module,exports){ -"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache; -},{}],208:[function(require,module,exports){ -"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]+)(\/[^?]+)?\??(.+)?/; -},{"./browser":192,"./config":196}],209:[function(require,module,exports){ -"use strict";var isChar=require("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar["CJK Compatibility Ideographs"](a)||(!!isChar["CJK Compatibility"](a)||(!!isChar["CJK Radicals Supplement"](a)||(!!isChar["CJK Strokes"](a)||(!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar["CJK Unified Ideographs Extension A"](a)||(!!isChar["CJK Unified Ideographs"](a)||(!!isChar["Enclosed CJK Letters and Months"](a)||(!!isChar["Hangul Compatibility Jamo"](a)||(!!isChar["Hangul Jamo Extended-A"](a)||(!!isChar["Hangul Jamo Extended-B"](a)||(!!isChar["Hangul Jamo"](a)||(!!isChar["Hangul Syllables"](a)||(!!isChar.Hiragana(a)||(!!isChar["Ideographic Description Characters"](a)||(!!isChar.Kanbun(a)||(!!isChar["Kangxi Radicals"](a)||(!!isChar["Katakana Phonetic Extensions"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar["Unified Canadian Aboriginal Syllabics"](a)||(!!isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||(!!isChar["Vertical Forms"](a)||(!!isChar["Yijing Hexagram Symbols"](a)||(!!isChar["Yi Syllables"](a)||!!isChar["Yi Radicals"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar["Latin-1 Supplement"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar["General Punctuation"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar["Letterlike Symbols"](a)||(!!isChar["Number Forms"](a)||(!(!isChar["Miscellaneous Technical"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar["Control Pictures"](a)||9251===a)||(!!isChar["Optical Character Recognition"](a)||(!!isChar["Enclosed Alphanumerics"](a)||(!!isChar["Geometric Shapes"](a)||(!(!isChar["Miscellaneous Symbols"](a)||a>=9754&&a<=9759)||(!(!isChar["Miscellaneous Symbols and Arrows"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar["CJK Symbols and Punctuation"](a)||(!!isChar.Katakana(a)||(!!isChar["Private Use Area"](a)||(!!isChar["CJK Compatibility Forms"](a)||(!!isChar["Small Form Variants"](a)||(!!isChar["Halfwidth and Fullwidth Forms"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}; -},{"./is_char_in_unicode_block":206}],210:[function(require,module,exports){ -"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}; -},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],213:[function(require,module,exports){ -"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature; -},{}],214:[function(require,module,exports){ -"use strict";var scriptDetection=require("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}; -},{"./script_detection":209}],215:[function(require,module,exports){ -"use strict";var WebWorker=require("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require("../").workerCount;for(this.workers=[];this.workers.length1&&void 0!==arguments[1]?arguments[1]:null,places=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,dataLatitude=div.dataset.latitude,dataLongitude=div.dataset.longitude,data=window["geojson"+div.dataset.id];if(null==data&&(data={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:"Current Location",icon:"circle-stroked",uri:"current-location"}}]}),null!=places){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=places[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var place=_step.value,placeLongitude=(0,_parseLocation2.default)(place.location).longitude,placeLatitude=(0,_parseLocation2.default)(place.location).latitude;data.features.push({type:"Feature",geometry:{type:"Point",coordinates:[placeLongitude,placeLatitude]},properties:{title:place.name,icon:"circle",uri:place.slug}})}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}null!=position&&(dataLongitude=position.coords.longitude,dataLatitude=position.coords.latitude);var map=new _mapboxGl2.default.Map({container:div,style:"mapbox://styles/mapbox/streets-v9",center:[dataLongitude,dataLatitude],zoom:15});if(null==position&&map.scrollZoom.disable(),map.addControl(new _mapboxGl2.default.NavigationControl),div.appendChild(makeMapMenu(map)),map.on("load",function(){map.addLayer({id:"points",type:"symbol",source:{type:"geojson",data:data},layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})}),null!=position&&map.on("click",function(e){var features=map.queryRenderedFeatures(e.point,{layer:["points"]});features.length&&(map.flyTo({center:features[0].geometry.coordinates}),(0,_selectPlace2.default)(features[0].properties.uri))}),data.features&&data.features.length>1){var bounds=new _mapboxGl2.default.LngLatBounds,_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=data.features[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var feature=_step2.value;bounds.extend(feature.geometry.coordinates)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}map.fitBounds(bounds,{padding:65})}return map}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=addMap;var _mapboxGl2=_interopRequireDefault(__webpack_require__(3)),_parseLocation2=_interopRequireDefault(__webpack_require__(1)),_selectPlace2=_interopRequireDefault(__webpack_require__(2));_mapboxGl2.default.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";var titlecase=function(string){return string.split("-").map(function(_ref){var _ref2=_toArray(_ref),first=_ref2[0],rest=_ref2.slice(1);return first.toUpperCase()+rest.join("").toLowerCase()}).join(" ")},addMapTypeOption=function(map,menu,option){var checked=arguments.length>3&&void 0!==arguments[3]&&arguments[3],input=document.createElement("input");input.setAttribute("id",option),input.setAttribute("type","radio"),input.setAttribute("name","toggle"),input.setAttribute("value",option),1==checked&&input.setAttribute("checked","checked"),input.addEventListener("click",function(){var source=map.getSource("points");map.setStyle("mapbox://styles/mapbox/"+option+"-v9"),map.on("style.load",function(){map.addLayer({id:"points",type:"symbol",source:{type:"geojson",data:source._data},layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})})});var label=document.createElement("label");label.setAttribute("for",option),label.appendChild(document.createTextNode(titlecase(option))),menu.appendChild(input),menu.appendChild(label)},makeMapMenu=function(map){var mapMenu=document.createElement("div");return mapMenu.classList.add("map-menu"),addMapTypeOption(map,mapMenu,"streets",!0),addMapTypeOption(map,mapMenu,"satellite-streets"),mapMenu}},function(module,exports,__webpack_require__){"use strict";function parseLocation(text){var coords=/POINT\((.*)\)/.exec(text),parsedLongitude=coords[1].split(" ")[0];return{latitude:coords[1].split(" ")[1],longitude:parsedLongitude}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=parseLocation},function(module,exports,__webpack_require__){"use strict";function selectPlaceInForm(uri){document.querySelector("select")&&("current-location"==uri?document.querySelector('select [id="option-coords"]').selected=!0:document.querySelector('select [value="'+uri+'"]').selected=!0)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=selectPlaceInForm},function(module,exports){!function(f){if("object"==typeof exports&&void 0!==module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).mapboxgl=f()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i)n.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var n=this.shelves[t].alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],3:[function(_dereq_,module,exports){function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){void 0===i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}},{}],4:[function(_dereq_,module,exports){!function(e,t){t("object"==typeof exports&&void 0!==module?exports:e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){return s=s||{},e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&")}function o(e,t,o){var n=r(256*e,256*(t=Math.pow(2,o)-t-1),o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})})},{}],5:[function(_dereq_,module,exports){"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do{if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),(t=n=t.prev)===t.next)return null;r=!0}}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if((e=l)===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do{null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do{n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do{r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next}while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}},{}],6:[function(_dereq_,module,exports){function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=_dereq_("geojson-area");module.exports=rewind},{"geojson-area":6}],8:[function(_dereq_,module,exports){"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));(c=(h=g[S-1])[n])>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=_dereq_("./feature")},{"./feature":10}],9:[function(_dereq_,module,exports){"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify},{}],13:[function(_dereq_,module,exports){"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){signedArea(e)<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}},{}],18:[function(_dereq_,module,exports){"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range},{}],20:[function(_dereq_,module,exports){"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1);select(t,a,o,Math.max(s,Math.floor(o-p*m/f+n)),Math.min(r,Math.floor(o+(f-p)*m/f+n)),e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD},{}],21:[function(_dereq_,module,exports){"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within},{}],22:[function(_dereq_,module,exports){"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}void 0!==module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],23:[function(_dereq_,module,exports){(function(process){function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return(r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"))||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var BufferMethods,lastStr,lastStrEncoded,ieee754=_dereq_("ieee754");(BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.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?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(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(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./buffer":24}],26:[function(_dereq_,module,exports){"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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 n=t.x-this.x,i=t.y-this.y;return n*n+i*i},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,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,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},_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 n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}},{}],27:[function(_dereq_,module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1);partialSort(a,t,Math.max(r,Math.floor(t-e*s/f+i)),Math.min(o,Math.floor(t+(f-e)*s/f+i)),p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort},{}],29:[function(_dereq_,module,exports){"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints;return{cluster:!0,point_count:e,point_count_abbreviated:e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=_dereq_("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n")):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0;return e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-1/0,p=1/0,h=-1/0;e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=_dereq_("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}},{"./vectortilefeature.js":36}],38:[function(_dereq_,module,exports){function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup},{"./program_configuration":58,"./vertex_array_type":60}],45:[function(_dereq_,module,exports){"use strict";var ArrayGroup=_dereq_("./array_group"),BufferGroup=_dereq_("./buffer_group"),util=_dereq_("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||y<0||y>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,o,y,-1,-1),addCircleVertex(r.layoutVertexArray,o,y,1,-1),addCircleVertex(r.layoutVertexArray,o,y,1,1),addCircleVertex(r.layoutVertexArray,o,y,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56}],47:[function(_dereq_,module,exports){"use strict";var Bucket=_dereq_("../bucket"),createElementArrayType=_dereq_("../element_array_type"),loadGeometry=_dereq_("../load_geometry"),earcut=_dereq_("earcut"),classifyRings=_dereq_("../../util/classify_rings"),fillInterface={layoutAttributes:[{name:"a_pos",components:2,type:"Int16"}],elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}]},FillBucket=function(e){function t(t){e.call(this,t,fillInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this.arrays,r=0,a=classifyRings(loadGeometry(e),500);rEXTENT)||e.y===t.y&&(e.y<0||e.y>EXTENT)}var Bucket=_dereq_("../bucket"),createElementArrayType=_dereq_("../element_array_type"),loadGeometry=_dereq_("../load_geometry"),EXTENT=_dereq_("../extent"),earcut=_dereq_("earcut"),classifyRings=_dereq_("../../util/classify_rings"),fillExtrusionInterface={layoutAttributes:[{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}],elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function t(t){e.call(this,t,fillExtrusionInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this.arrays,r=0,a=classifyRings(loadGeometry(e),500);r=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var E=g.sub(A)._perp()._unit();addVertex(t.layoutVertexArray,g.x,g.y,E.x,E.y,0,0,m),addVertex(t.layoutVertexArray,g.x,g.y,E.x,E.y,0,1,m),m+=A.dist(g),addVertex(t.layoutVertexArray,A.x,A.y,E.x,E.y,0,0,m),addVertex(t.layoutVertexArray,A.x,A.y,E.x,E.y,0,1,m);var v=u.vertexLength;t.elementArray.emplaceBack(v,v+1,v+2),t.elementArray.emplaceBack(v+1,v+2,v+3),u.vertexLength+=4,u.primitiveLength+=2}}p.push(g.x),p.push(g.y)}}}for(var _=earcut(p,s),T=0;T<_.length;T+=3)t.elementArray.emplaceBack(c[_[T]],c[_[T+1]],c[_[T+2]]);u.primitiveLength+=_.length/3}t.populatePaintArrays(e.properties)},t}(Bucket);FillExtrusionBucket.programInterface=fillExtrusionInterface,module.exports=FillExtrusionBucket},{"../../util/classify_rings":198,"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,earcut:5}],49:[function(_dereq_,module,exports){"use strict";function addLineVertex(e,t,r,i,a,n,d){e.emplaceBack(t.x<<1|i,t.y<<1|a,Math.round(EXTRUDE_SCALE*r.x)+128,Math.round(EXTRUDE_SCALE*r.y)+128,1+(0===n?0:n<0?-1:1)|(d*LINE_DISTANCE_SCALE&63)<<2,d*LINE_DISTANCE_SCALE>>6)}var Bucket=_dereq_("../bucket"),createElementArrayType=_dereq_("../element_array_type"),loadGeometry=_dereq_("../load_geometry"),EXTENT=_dereq_("../extent"),VectorTileFeature=_dereq_("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(Math.PI/180*37.5),LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,14)/LINE_DISTANCE_SCALE,lineInterface={layoutAttributes:[{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,15);s=2&&e[l-1].equals(e[l-2]);)l--;for(var o=0;oo){var R=y.dist(m);if(R>2*p){var g=y.sub(y.sub(m)._mult(p/R)._round());d.distance+=g.dist(m),d.addCurrentVertex(g,d.distance,x.mult(1),0,0,!1,h),m=g}}var F=m&&E,B=F?r:E?A:L;if(F&&"round"===B&&(Na&&(B="bevel"),"bevel"===B&&(N>2&&(B="flipbevel"),N100)I=C.clone().mult(-1);else{var k=x.x*C.y-x.y*C.x>0?-1:1,D=N*x.add(C).mag()/x.sub(C).mag();I._perp()._mult(D*k)}d.addCurrentVertex(y,d.distance,I,0,0,!1,h),d.addCurrentVertex(y,d.distance,I.mult(-1),0,0,!1,h)}else if("bevel"===B||"fakeround"===B){var P=x.x*C.y-x.y*C.x>0,U=-Math.sqrt(N*N-1);if(P?(f=0,v=U):(v=0,f=U),S||d.addCurrentVertex(y,d.distance,x,v,f,!1,h),"fakeround"===B){for(var q=Math.floor(8*(.5-(T-.5))),M=void 0,O=0;O=0;X--)M=x.mult((X+1)/(q+1))._add(C)._unit(),d.addPieSliceVertex(y,d.distance,M,P,h)}E&&d.addCurrentVertex(y,d.distance,C,-v,-f,!1,h)}else"butt"===B?(S||d.addCurrentVertex(y,d.distance,x,0,0,!1,h),E&&d.addCurrentVertex(y,d.distance,C,0,0,!1,h)):"square"===B?(S||(d.addCurrentVertex(y,d.distance,x,1,1,!1,h),d.e1=d.e2=-1),E&&d.addCurrentVertex(y,d.distance,C,-1,-1,!1,h)):"round"===B&&(S||(d.addCurrentVertex(y,d.distance,x,0,0,!1,h),d.addCurrentVertex(y,d.distance,x,1,1,!0,h),d.e1=d.e2=-1),E&&(d.addCurrentVertex(y,d.distance,C,-1,-1,!0,h),d.addCurrentVertex(y,d.distance,C,0,0,!1,h)));if(b&&V2*p){var w=y.add(E.sub(y)._mult(p/H)._round());d.distance+=w.dist(y),d.addCurrentVertex(w,d.distance,C.mult(1),0,0,!1,h),y=w}}S=!1}_.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"vector-tile":34}],50:[function(_dereq_,module,exports){"use strict";function addVertex(e,t,o,a,i,r,n,s,l,c,u,y){e.emplaceBack(t,o,Math.round(64*a),Math.round(64*i),r/4,n/4,packUint8ToFloat(10*(u||0),y%256),packUint8ToFloat(10*(l||0),10*Math.min(c||25,25)),s?s[0]:void 0,s?s[1]:void 0,s?s[2]:void 0)}function addCollisionBoxVertex(e,t,o,a,i){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*a,10*i)}function getSizeData(e,t,o){var a={isFeatureConstant:t.isLayoutValueFeatureConstant(o),isZoomConstant:t.isLayoutValueZoomConstant(o)};if(a.isFeatureConstant&&(a.layoutSize=t.getLayoutValue(o,{zoom:e+1})),!a.isZoomConstant){for(var i=t.getLayoutValueStopZoomLevels(o),r=0;rEXTENT||r.y<0||r.y>EXTENT);if(!h||n){var s=n||v;a.addSymbolInstance(r,i,t,o,a.layers[0],s,a.collisionBoxArray,e.index,e.sourceLayerIndex,a.index,u,x,f,p,d,b,{zoom:a.zoom},e.properties)}};if("line"===s["symbol-placement"])for(var B=0,M=clipLine(e.geometry,0,0,EXTENT,EXTENT);B=0;r--)if(o.dist(i[r])7*Math.PI/4)continue}else if(i&&r&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(i&&r&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var g=x.tl,f=x.tr,b=x.bl,v=x.br,S=x.tex,I=x.anchorPoint,z=Math.max(y+Math.log(x.minScale)/Math.LN2,p),B=Math.min(y+Math.log(x.maxScale)/Math.LN2,25);if(!(B<=z)){z===p&&(z=0);var M=Math.round(x.glyphAngle/(2*Math.PI)*256),L=e.prepareSegment(4),A=L.vertexLength;addVertex(u,I.x,I.y,g.x,g.y,S.x,S.y,a,z,B,p,M),addVertex(u,I.x,I.y,f.x,f.y,S.x+S.w,S.y,a,z,B,p,M),addVertex(u,I.x,I.y,b.x,b.y,S.x,S.y+S.h,a,z,B,p,M),addVertex(u,I.x,I.y,v.x,v.y,S.x+S.w,S.y+S.h,a,z,B,p,M),c.emplaceBack(A,A+1,A+2),c.emplaceBack(A+1,A+2,A+3),L.vertexLength+=4,L.primitiveLength+=2}}e.populatePaintArrays(s)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,a=o.layoutVertexArray,i=o.elementArray,r=-e.angle,n=e.yStretch,s=0,l=t.symbolInstances;sSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),A>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var T=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:B,textBoxEndIndex:M,iconBoxStartIndex:L,iconBoxEndIndex:A,glyphQuads:S,iconQuads:v,anchor:e,featureIndex:s,featureProperties:g,writingModes:T})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket},{"../../shaders/encode_attribute":81,"../../symbol/anchor":160,"../../symbol/clip_line":162,"../../symbol/collision_feature":164,"../../symbol/get_anchors":166,"../../symbol/mergelines":169,"../../symbol/quads":170,"../../symbol/shaping":171,"../../symbol/transform_text":173,"../../util/classify_rings":198,"../../util/find_pole_of_inaccessibility":204,"../../util/script_detection":211,"../../util/token":214,"../../util/util":215,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"point-geometry":26,"vector-tile":34}],51:[function(_dereq_,module,exports){"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e};Buffer.fromStructArray=function(t,e){return new Buffer(t.serialize(),t.constructor.serialize(),e)},Buffer.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.gl=t,this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.enableAttributes=function(t,e){for(var r=this,f=0;f0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}},{"../util/util":215,"./extent":54}],57:[function(_dereq_,module,exports){"use strict";var PosArray=_dereq_("../util/struct_array")({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray},{"../util/struct_array":213}],58:[function(_dereq_,module,exports){"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=_dereq_("./vertex_array_type"),util=_dereq_("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a4)for(;p90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(Array.isArray(t)&&2===t.length)return new LngLat(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new LngLat(Number(t.lng),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat},{"../util/util":215}],63:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds},{"./lng_lat":62}],64:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("./lng_lat"),Point=_dereq_("point-geometry"),Coordinate=_dereq_("./coordinate"),util=_dereq_("../util/util"),interp=_dereq_("../style-spec/util/interpolate"),TileCoord=_dereq_("../source/tile_coord"),EXTENT=_dereq_("../data/extent"),glmatrix=_dereq_("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.renderWorldCopies.get=function(){return this._renderWorldCopies},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.getVisibleWrappedCoordinates=function(t){for(var i=this.pointCoordinate(new Point(0,0),0),o=this.pointCoordinate(new Point(this.width,0),0),e=Math.floor(i.column),r=Math.floor(o.column),n=[t],s=e;s<=r;s++)0!==s&&n.push(new TileCoord(t.z,t.x,t.y,s));return n},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o)),this._renderWorldCopies&&(this.center=this.center.wrap())},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(0-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r=-90,n=90,s=-180,a=180,h=this.size,c=this._unmodified;if(this.latRange){var m=this.latRange;r=this.latY(m[1]),t=(n=this.latY(m[0]))-rn&&(e=n-f)}if(this.lngRange){var d=this.x,g=h.x/2;d-ga&&(o=a-g)}void 0===o&&void 0===e||(this.center=this.unproject(new Point(void 0!==o?o:this.x,void 0!==e?e:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),r=1.01*(Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance),n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),!(n=mat4.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform},{"../data/extent":54,"../source/tile_coord":96,"../style-spec/util/interpolate":123,"../util/util":215,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(_dereq_,module,exports){"use strict";var browser=_dereq_("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=_dereq_("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=_dereq_("./ui/map"),mapboxgl.NavigationControl=_dereq_("./ui/control/navigation_control"),mapboxgl.GeolocateControl=_dereq_("./ui/control/geolocate_control"),mapboxgl.AttributionControl=_dereq_("./ui/control/attribution_control"),mapboxgl.ScaleControl=_dereq_("./ui/control/scale_control"),mapboxgl.FullscreenControl=_dereq_("./ui/control/fullscreen_control"),mapboxgl.Popup=_dereq_("./ui/popup"),mapboxgl.Marker=_dereq_("./ui/marker"),mapboxgl.Style=_dereq_("./style/style"),mapboxgl.LngLat=_dereq_("./geo/lng_lat"),mapboxgl.LngLatBounds=_dereq_("./geo/lng_lat_bounds"),mapboxgl.Point=_dereq_("point-geometry"),mapboxgl.Evented=_dereq_("./util/evented"),mapboxgl.supported=_dereq_("./util/browser").supported;var config=_dereq_("./util/config");mapboxgl.config=config;var rtlTextPlugin=_dereq_("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}})},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":91,"./style/style":149,"./ui/control/attribution_control":176,"./ui/control/fullscreen_control":177,"./ui/control/geolocate_control":178,"./ui/control/navigation_control":180,"./ui/control/scale_control":181,"./ui/map":190,"./ui/marker":191,"./ui/popup":192,"./util/browser":195,"./util/config":199,"./util/evented":203,"point-geometry":26}],66:[function(_dereq_,module,exports){"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var g=0,p=i.coveringTiles({tileSize:n});g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":195,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(_dereq_,module,exports){"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=_dereq_("../util/util");module.exports=drawRaster},{"../util/util":215}],74:[function(_dereq_,module,exports){"use strict";function drawSymbols(t,e,i,o){if(!t.isOpaquePass){var a=!(i.layout["text-allow-overlap"]||i.layout["icon-allow-overlap"]||i.layout["text-ignore-placement"]||i.layout["icon-ignore-placement"]),n=t.gl;a?n.disable(n.STENCIL_TEST):n.enable(n.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),drawLayerSymbols(t,e,i,o,!1,i.paint["icon-translate"],i.paint["icon-translate-anchor"],i.layout["icon-rotation-alignment"],i.layout["icon-rotation-alignment"]),drawLayerSymbols(t,e,i,o,!0,i.paint["text-translate"],i.paint["text-translate-anchor"],i.layout["text-rotation-alignment"],i.layout["text-pitch-alignment"]),e.map.showCollisionBoxes&&drawCollisionDebug(t,e,i,o)}}function drawLayerSymbols(t,e,i,o,a,n,r,s,l){if(a||!t.style.sprite||t.style.sprite.loaded()){var u=t.gl,m="map"===s,f="map"===l,c=f;c?u.enable(u.DEPTH_TEST):u.disable(u.DEPTH_TEST);for(var p,_,g=0,y=o;gthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);r.opacities[a]=a<=t?r.changeOpacities[a]+o:r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory},{}],76:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);r.blendColor(1/8,1/8,1/8,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}},{"../source/pixels_to_tile_units":88}],79:[function(_dereq_,module,exports){"use strict";_dereq_("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n// Unpack a pair of values that have been packed into a single float.\n// The packed values are assumed to be 8-bit unsigned integers, and are\n// packed like so:\n// packedValue = floor(input[0]) * 256 + input[1],\nvec2 unpack_float(const float packedValue) {\n int packedIntValue = int(packedValue);\n int v0 = packedIntValue / 256;\n return vec2(v0, packedIntValue - v0 * 256);\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n return vec4(\n unpack_float(encodedColor[0]) / 255.0,\n unpack_float(encodedColor[1]) / 255.0\n );\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n 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, pos);\n 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, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:'\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\n\n// icon-size data (see symbol_sdf.vertex.glsl for more)\nattribute vec3 a_size;\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform mediump float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform mediump float u_size; // used when size is both zoom and feature constant\nuniform mediump float u_layout_size; // used when size is feature constant\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform bool u_is_text;\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n mediump vec2 label_data = unpack_float(a_data[2]);\n mediump float a_labelminzoom = label_data[0];\n mediump vec2 a_zoom = unpack_float(a_data[3]);\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n float size;\n // In order to accommodate placing labels around corners in\n // symbol-placement: line, each glyph in a label could have multiple\n // "quad"s only one of which should be shown at a given zoom level.\n // The min/max zoom assigned to each quad is based on the font size at\n // the vector tile\'s zoom level, which might be different than at the\n // currently rendered zoom level if text-size is zoom-dependent.\n // Thus, we compensate for this difference by calculating an adjustment\n // based on the scale of rendered text size relative to layout text size.\n mediump float layoutSize;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n layoutSize = a_size[2] / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n layoutSize = size;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n layoutSize = u_layout_size;\n } else {\n size = u_size;\n layoutSize = u_size;\n }\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n mediump float zoomAdjust = log2(size / layoutSize);\n mediump float adjustedZoom = (u_zoom - zoomAdjust) * 10.0;\n // result: z = 0 if a_minzoom <= adjustedZoom < a_maxzoom, and 1 otherwise\n mediump float z = 2.0 - step(a_minzoom, adjustedZoom) - (1.0 - step(a_maxzoom, adjustedZoom));\n\n vec2 extrude = fontScale * u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n'},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\nvarying float v_size;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n float fontScale = u_is_text ? v_size / 24.0 : v_size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature),\n// layoutSize == text-size(layoutZoomLevel, feature) ]\nattribute vec3 a_size;\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform mediump float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform mediump float u_size; // used when size is both zoom and feature constant\nuniform mediump float u_layout_size; // used when size is feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform bool u_is_text;\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\nvarying float v_size;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n\n mediump vec2 label_data = unpack_float(a_data[2]);\n mediump float a_labelminzoom = label_data[0];\n mediump float a_labelangle = label_data[1];\n\n mediump vec2 a_zoom = unpack_float(a_data[3]);\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // In order to accommodate placing labels around corners in\n // symbol-placement: line, each glyph in a label could have multiple\n // \"quad\"s only one of which should be shown at a given zoom level.\n // The min/max zoom assigned to each quad is based on the font size at\n // the vector tile's zoom level, which might be different than at the\n // currently rendered zoom level if text-size is zoom-dependent.\n // Thus, we compensate for this difference by calculating an adjustment\n // based on the scale of rendered text size relative to layout text size.\n mediump float layoutSize;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n v_size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n layoutSize = a_size[2] / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n v_size = a_size[0] / 10.0;\n layoutSize = v_size;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n v_size = u_size;\n layoutSize = u_layout_size;\n } else {\n v_size = u_size;\n layoutSize = u_size;\n }\n\n float fontScale = u_is_text ? v_size / 24.0 : v_size;\n\n mediump float zoomAdjust = log2(v_size / layoutSize);\n mediump float adjustedZoom = (u_zoom - zoomAdjust) * 10.0;\n // result: z = 0 if a_minzoom <= adjustedZoom < a_maxzoom, and 1 otherwise\n // Used below to move the vertex out of the clip space for when the current\n // zoom is out of the glyph's zoom range.\n mediump float z = 2.0 - step(a_minzoom, adjustedZoom) - (1.0 - step(a_maxzoom, adjustedZoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_labelangle / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = fontScale * u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_labelangle / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = fontScale * u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = fontScale * u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}},{path:23}],80:[function(_dereq_,module,exports){"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,s){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var o=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==s;!e.extVertexArrayObject||o?(this.freshBind(e,t,r,i,n,s),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,s){var o,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=s;else{o=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource},{"../data/extent":54,"../util/evented":203,"../util/util":215,"../util/window":197}],84:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),rewind=_dereq_("geojson-rewind"),GeoJSONWrapper=_dereq_("./geojson_wrapper"),vtpbf=_dereq_("vt-pbf"),supercluster=_dereq_("supercluster"),geojsonvt=_dereq_("geojson-vt"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(_dereq_("./vector_tile_worker_source"));module.exports=GeoJSONWorkerSource},{"../util/ajax":194,"./geojson_wrapper":85,"./vector_tile_worker_source":98,"geojson-rewind":7,"geojson-vt":11,supercluster:29,"vt-pbf":38}],85:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("point-geometry"),VectorTileFeature=_dereq_("vector-tile").VectorTileFeature,EXTENT=_dereq_("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;(a=i._tiles[d])&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var i=(Math.ceil(e.width/e.tileSize)+1)*(Math.ceil(e.height/e.tileSize)+1);this._cache.setMaxSize(Math.floor(5*i))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(this.used?this._source.coord?u=e.getVisibleWrappedCoordinates(this._source.coord):(u=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(u=u.filter(function(e){return o._source.hasTile(e)}))):u=[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),(a=o.findLoadedParent(r,d,l))&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-1/0,n=-1/0,d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTime=a.minX&&t.x=a.minY&&t.yi.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource},{"../util/evented":203,"../util/mapbox":210,"../util/util":215,"./load_tilejson":87,"./tile_bounds":95}],98:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),vt=_dereq_("vector-tile"),Protobuf=_dereq_("pbf"),WorkerTile=_dereq_("./worker_tile"),util=_dereq_("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var l=t[i].redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource},{"../util/ajax":194,"../util/util":215,"./worker_tile":101,pbf:25,"vector-tile":34}],99:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(_dereq_("./image_source"));module.exports=VideoSource},{"../util/ajax":194,"./image_source":86}],100:[function(_dereq_,module,exports){"use strict";var Actor=_dereq_("../util/actor"),StyleLayerIndex=_dereq_("../style/style_layer_index"),VectorTileWorkerSource=_dereq_("./vector_tile_worker_source"),GeoJSONWorkerSource=_dereq_("./geojson_worker_source"),globalRTLTextPlugin=_dereq_("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}},{"../style/style_layer_index":157,"../util/actor":193,"./geojson_worker_source":84,"./rtl_text_plugin":91,"./vector_tile_worker_source":98}],101:[function(_dereq_,module,exports){"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(2===++D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true")+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]},{}],106:[function(_dereq_,module,exports){"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn);return[116*o-16,500*(b-o),200*(o-xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn)),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1];return labToRgb([r[2],Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}},{}],107:[function(_dereq_,module,exports){"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&((t=extend({},t)).stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=findStopLessThanOrEqualTo(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=findStopLessThanOrEqualTo(t.stops,o),i=interpolationFactor(o,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],p=interpolate[e.type]||identityFunction;return"function"==typeof s?function(){var t=s.apply(void 0,arguments),e=u.apply(void 0,arguments);if(void 0!==t&&void 0!==e)return p(t,e,i)}:p(s,u,i)}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function findStopLessThanOrEqualTo(t,e){for(var o,n,a=0,i=t.length-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e===o||e>o&&ee&&(i=s-1)}return Math.max(s-1,0)}function isFunctionDefinition(t){return"object"==typeof t&&(t.stops||"identity"===t.type)}function interpolationFactor(t,e,o,n){var r=n-o,a=t-o;return 1===e?a/r:(Math.pow(e,a)-1)/(Math.pow(e,r)-1)}var colorSpaces=_dereq_("./color_spaces"),parseColor=_dereq_("../util/parse_color"),extend=_dereq_("../util/extend"),getType=_dereq_("../util/get_type"),interpolate=_dereq_("../util/interpolate");module.exports=createFunction,module.exports.isFunctionDefinition=isFunctionDefinition,module.exports.interpolationFactor=interpolationFactor,module.exports.findStopLessThanOrEqualTo=findStopLessThanOrEqualTo},{"../util/extend":121,"../util/get_type":122,"../util/interpolate":123,"../util/parse_color":124,"./color_spaces":106}],108:[function(_dereq_,module,exports){"use strict";function key(r){return stringify(refProperties.map(function(e){return r[e]}))}function groupByLayout(r){for(var e={},t=0;t255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length)return(l=parseInt(r.substr(1),16))>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null;if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(-1!==a&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}},{}],110:[function(_dereq_,module,exports){function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(t=(n=objKeys(r).sort()).length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace},{}],111:[function(_dereq_,module,exports){function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments},{}],115:[function(_dereq_,module,exports){function isObjectLike(t){return!!t&&"object"==typeof t}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),MAX_SAFE_INTEGER=9007199254740991,isArray=function(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}(Array,"isArray")||function(t){return isObjectLike(t)&&isLength(t.length)&&"[object Array]"==objToString.call(t)};module.exports=isArray},{}],116:[function(_dereq_,module,exports){function isEqual(a,l,i,e){var s=(i="function"==typeof i?bindCallback(i,e,3):void 0)?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=_dereq_("lodash._baseisequal"),bindCallback=_dereq_("lodash._bindcallback");module.exports=isEqual},{"lodash._baseisequal":111,"lodash._bindcallback":112}],117:[function(_dereq_,module,exports){function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,typedArrayTags={};typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1;var objectToString=Object.prototype.toString;module.exports=isTypedArray},{}],118:[function(_dereq_,module,exports){function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{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:22,value:["number","color"],length:2},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:!1},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,maximum:65535,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,maximum:65535,units:"meters",transition:!0,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!0,units:"milliseconds"}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],121:[function(_dereq_,module,exports){"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}},{"../error/validation_error":104,"../util/extend":121,"../util/get_type":122,"./validate_array":128,"./validate_boolean":129,"./validate_color":130,"./validate_constants":131,"./validate_enum":132,"./validate_filter":133,"./validate_function":134,"./validate_layer":136,"./validate_light":138,"./validate_number":139,"./validate_object":140,"./validate_source":143,"./validate_string":144}],128:[function(_dereq_,module,exports){"use strict";var getType=_dereq_("../util/get_type"),validate=_dereq_("./validate"),ValidationError=_dereq_("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}},{"../error/validation_error":104,"../util/get_type":122}],132:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?-1===u.values.indexOf(unbundle(n))&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):-1===Object.keys(u.values).indexOf(unbundle(n))&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}},{"../error/validation_error":104,"../util/unbundle_jsonlint":126}],133:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),validateEnum=_dereq_("./validate_enum"),getType=_dereq_("../util/get_type"),unbundle=_dereq_("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&"string"!==(t=getType(a[1]))&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found";return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}},{"../error/validation_error":104,"../util/get_type":122,"../util/unbundle_jsonlint":126,"./validate":127,"./validate_array":128,"./validate_number":139,"./validate_object":140}],135:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),validateString=_dereq_("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(-1===e.indexOf("{fontstack}")&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":104,"./validate_string":144}],136:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint"),validateObject=_dereq_("./validate_object"),validateFilter=_dereq_("./validate_filter"),validatePaintProperty=_dereq_("./validate_paint_property"),validateLayoutProperty=_dereq_("./validate_layout_property"),extend=_dereq_("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}},{"../error/validation_error":104,"../util/get_type":122}],140:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),getType=_dereq_("../util/get_type"),validateSpec=_dereq_("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}},{"../error/validation_error":104,"../util/get_type":122,"./validate":127}],141:[function(_dereq_,module,exports){"use strict";var validateProperty=_dereq_("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}},{"./validate_property":142}],142:[function(_dereq_,module,exports){"use strict";var validate=_dereq_("./validate"),ValidationError=_dereq_("../error/validation_error"),getType=_dereq_("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}},{"../error/validation_error":104,"../util/get_type":122,"./validate":127}],143:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint"),validateObject=_dereq_("./validate_object"),validateEnum=_dereq_("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var i=[];switch(unbundle(a.type)){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}},{"../error/validation_error":104,"../util/unbundle_jsonlint":126,"./validate_enum":132,"./validate_object":140}],144:[function(_dereq_,module,exports){"use strict";var getType=_dereq_("../util/get_type"),ValidationError=_dereq_("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}},{"../error/validation_error":104,"../util/get_type":122}],145:[function(_dereq_,module,exports){"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=_dereq_("./validate/validate_constants"),validate=_dereq_("./validate/validate"),latestStyleSpec=_dereq_("./reference/latest"),validateGlyphsURL=_dereq_("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(_dereq_("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(_dereq_("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(_dereq_("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(_dereq_("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(_dereq_("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(_dereq_("./validate/validate_layout_property")),module.exports=validateStyleMin},{"./reference/latest":119,"./validate/validate":127,"./validate/validate_constants":131,"./validate/validate_filter":133,"./validate/validate_glyphs_url":135,"./validate/validate_layer":136,"./validate/validate_layout_property":137,"./validate/validate_light":138,"./validate/validate_paint_property":141,"./validate/validate_source":143}],146:[function(_dereq_,module,exports){"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop},{}],147:[function(_dereq_,module,exports){"use strict";var Evented=_dereq_("../util/evented"),ajax=_dereq_("../util/ajax"),browser=_dereq_("../util/browser"),normalizeURL=_dereq_("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function e(e,i){var r=this;t.call(this),this.base=e,this.retina=browser.devicePixelRatio>1,this.setEventedParent(i);var a=this.retina?"@2x":"";ajax.getJSON(normalizeURL(e,a,".json"),function(t,e){return t?void r.fire("error",{error:t}):(r.data=e,void(r.imgData&&r.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(e,a,".png"),function(t,e){return t?void r.fire("error",{error:t}):(r.imgData=browser.getImageData(e),r.width=e.width,void(r.data&&r.fire("data",{dataType:"style"})))})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toJSON=function(){return this.base},e.prototype.loaded=function(){return!(!this.data||!this.imgData)},e.prototype.resize=function(){var t=this;if(browser.devicePixelRatio>1!==this.retina){var i=new e(this.base);i.on("data",function(){t.data=i.data,t.imgData=i.imgData,t.width=i.width,t.retina=i.retina})}},e.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var e=this.data&&this.data[t];return e&&this.imgData?e:new SpritePosition},e}(Evented);module.exports=ImageSprite},{"../util/ajax":194,"../util/browser":195,"../util/evented":203,"../util/mapbox":210}],148:[function(_dereq_,module,exports){"use strict";var styleSpec=_dereq_("../style-spec/reference/latest"),util=_dereq_("../util/util"),Evented=_dereq_("../util/evented"),validateStyle=_dereq_("./validate_style"),StyleDeclaration=_dereq_("./style_declaration"),StyleTransition=_dereq_("./style_transition"),Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;(e=util.extend({},e)).layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");if(!(["vector","raster","geojson","video","image","canvas"].indexOf(t.type)>=0)||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(r){var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")})},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(t){t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")})},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(o){if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i),!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property)&&s||this._updateLayer(o),this.updateClasses(e,t)}}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility},i.prototype.updatePaintTransitions=function(t,i,a,e,o){for(var n=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return o;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((e-this.startTime-this.delay)/this.duration);return this.interp(a,o,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var e=t.zoom,o=this.zoomHistory.lastIntegerZoom,a=e>o?2:.5,n=this.declaration.calculate({zoom:e>o?e-1:e+1},i),r=this.declaration.calculate({zoom:e},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(e-o),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition},{"../style-spec/util/interpolate":123,"../util/util":215}],159:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(--s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle},{}],162:[function(_dereq_,module,exports){"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=_dereq_("point-geometry");module.exports=clipLine},{"point-geometry":26}],163:[function(_dereq_,module,exports){"use strict";var createStructArrayType=_dereq_("../util/struct_array"),Point=_dereq_("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{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:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray},{"../util/struct_array":213,"point-geometry":26}],164:[function(_dereq_,module,exports){"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(--m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],B=e[m+1].sub(p)._unit()._mult(g)._add(p)._round(),y=s/2/Math.max(Math.abs(c-h)-d/2,0);t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature},{}],165:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("point-geometry"),EXTENT=_dereq_("../data/extent"),Grid=_dereq_("grid-index"),intersectionTests=_dereq_("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);(S=r.tempCollisionBox).anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-1/0,c=-1/0,g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+h<=s){var M=new Anchor(k,q,A,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=y}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,c)),x}var interpolate=_dereq_("../style-spec/util/interpolate"),Anchor=_dereq_("../symbol/anchor"),checkMaxAngle=_dereq_("./check_max_angle");module.exports=getAnchors},{"../style-spec/util/interpolate":123,"../symbol/anchor":160,"./check_max_angle":161}],167:[function(_dereq_,module,exports){"use strict";var ShelfPack=_dereq_("@mapbox/shelf-pack"),util=_dereq_("../util/util"),GlyphAtlas=function(){this.width=128,this.height=128,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,l=a+2,T=E+2;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=2048||e>=2048)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var r=glyphUrl(t,256*e+"-"+(256*e+255),this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r=0^o,r=Math.abs(n),h=new Point(e.x,e.y),c=getSegmentEnd(l,a,i),g={anchor:h,end:c,index:i,minScale:getMinScaleForSegment(r,h,c),maxScale:1/0};;){if(insertSegmentGlyph(t,g,l,o),g.minScale<=e.scale)return e.scale;var u=getNextVirtualSegment(g,a,r,l);if(!u)return g.minScale;g=u}}function insertSegmentGlyph(t,e,n,a){var i=Math.atan2(e.end.y-e.anchor.y,e.end.x-e.anchor.x),o=n?i:i+Math.PI;t.push({anchorPoint:e.anchor,upsideDown:a,minScale:e.minScale,maxScale:e.maxScale,angle:(o+2*Math.PI)%(2*Math.PI)})}function getVirtualSegmentAnchor(t,e,n){var a=e.sub(t)._unit();return t.sub(a._mult(n))}function getMinScaleForSegment(t,e,n){return t/e.dist(n)}function getSegmentEnd(t,e,n){return t?e[n+1]:e[n]}function getNextVirtualSegment(t,e,n,a){for(var i=t.end,o=i,l=t.index;o.equals(i);){if(a&&l+21?2:1,this.dirty=!0}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.allocateImage=function(t,i){var r=(t/=this.pixelRatio)+2+(4-(t+2)%4),a=(i/=this.pixelRatio)+2+(4-(i+2)%4),h=this.shelfPack.packOne(r,a);return h||(util.warnOnce("SpriteAtlas out of space."),null)},i.prototype.addImage=function(t,i,e){var r,a,h;if(i instanceof window.HTMLImageElement?(r=i.width,a=i.height,i=browser.getImageData(i),h=1):(r=e.width,a=e.height,h=e.pixelRatio||1),ArrayBuffer.isView(i)&&(i=new Uint32Array(i.buffer)),!(i instanceof Uint32Array))return this.fire("error",{error:new Error("Image provided in an invalid format. Supported formats are HTMLImageElement and ArrayBufferView.")});if(this.images[t])return this.fire("error",{error:new Error("An image with this name already exists.")});var s=this.allocateImage(r,a);if(!s)return this.fire("error",{error:new Error("There is not enough space to add this image.")});var o={rect:s,width:r/h,height:a/h,sdf:!1,pixelRatio:h/this.pixelRatio};this.images[t]=o,this.copy(i,r,s,{pixelRatio:h,x:0,y:0,width:r,height:a},!1),this.fire("data",{dataType:"style"})},i.prototype.removeImage=function(t){var i=this.images[t];return delete this.images[t],i?(this.shelfPack.unref(i.rect),void this.fire("data",{dataType:"style"})):this.fire("error",{error:new Error("No image with this name exists.")})},i.prototype.getImage=function(t,i){if(this.images[t])return this.images[t];if(!this.sprite)return null;var e=this.sprite.getSpritePosition(t);if(!e.width||!e.height)return null;var r=this.allocateImage(e.width,e.height);if(!r)return null;var a={rect:r,width:e.width/e.pixelRatio,height:e.height/e.pixelRatio,sdf:e.sdf,pixelRatio:e.pixelRatio/this.pixelRatio};if(this.images[t]=a,!this.sprite.imgData)return null;var h=new Uint32Array(this.sprite.imgData.buffer);return this.copy(h,this.sprite.width,r,e,i),a},i.prototype.getPosition=function(t,i){var e=this.getImage(t,i),r=e&&e.rect;if(!r)return null;var a=e.width*e.pixelRatio,h=e.height*e.pixelRatio;return{size:[e.width,e.height],tl:[(r.x+1)/this.width,(r.y+1)/this.height],br:[(r.x+1+a)/this.width,(r.y+1+h)/this.height]}},i.prototype.allocate=function(){var t=this;if(!this.data){var i=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(i*e);for(var r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){DOM.mousePos(g,e).equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}},{"../util/dom":202,"./handler/box_zoom":182,"./handler/dblclick_zoom":183,"./handler/drag_pan":184,"./handler/drag_rotate":185,"./handler/keyboard":186,"./handler/scroll_zoom":187,"./handler/touch_zoom_rotate":188,"point-geometry":26}],175:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),interpolate=_dereq_("../style-spec/util/interpolate"),browser=_dereq_("../util/browser"),LngLat=_dereq_("../geo/lng_lat"),LngLatBounds=_dereq_("../geo/lng_lat_bounds"),Point=_dereq_("point-geometry"),Camera=function(t){function e(e,i){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=i.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,i){return t=Point.convert(t).mult(-1),this.panTo(this.transform.center,util.extend({offset:t},e),i)},e.prototype.panTo=function(t,e,i){return this.easeTo(util.extend({center:t},e),i)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,i){return this.easeTo(util.extend({zoom:t},e),i)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,i){return this.easeTo(util.extend({bearing:t},e),i)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,util.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())e?1:0}),["bottom","left","right","top"])){t=LngLatBounds.convert(t);var n=[e.padding.left-e.padding.right,e.padding.top-e.padding.bottom],r=Math.min(e.padding.right,e.padding.left),a=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+n[0],e.offset[1]+n[1]];var s=Point.convert(e.offset),h=this.transform,p=h.project(t.getNorthWest()),u=h.project(t.getSouthEast()),c=u.sub(p),f=(h.width-2*r-2*Math.abs(s.x))/c.x,m=(h.height-2*a-2*Math.abs(s.y))/c.y;return m<0||f<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(e.center=h.unproject(p.add(u).div(2)),e.zoom=Math.min(h.scaleZoom(h.scale*Math.min(f,m)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,i):this.flyTo(e,i))}util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'")}},e.prototype.jumpTo=function(t,e){this.stop();var i=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&i.zoom!==+t.zoom&&(o=!0,i.zoom=+t.zoom),"center"in t&&(i.center=LngLat.convert(t.center)),"bearing"in t&&i.bearing!==+t.bearing&&(n=!0,i.bearing=+t.bearing),"pitch"in t&&i.pitch!==+t.pitch&&(r=!0,i.pitch=+t.pitch),this.fire("movestart",e).fire("move",e),o&&this.fire("zoomstart",e).fire("zoom",e).fire("zoomend",e),n&&this.fire("rotate",e),r&&this.fire("pitchstart",e).fire("pitch",e).fire("pitchend",e),this.fire("moveend",e)},e.prototype.easeTo=function(t,e){var i=this;this.stop(),!1===(t=util.extend({offset:[0,0],duration:500,easing:util.ease},t)).animate&&(t.duration=0),t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration));var o=this.transform,n=this.getZoom(),r=this.getBearing(),a=this.getPitch(),s="zoom"in t?+t.zoom:n,h="bearing"in t?this._normalizeBearing(t.bearing,r):r,p="pitch"in t?+t.pitch:a,u=o.centerPoint.add(Point.convert(t.offset)),c=o.pointLocation(u),f=LngLat.convert(t.center||c);this._normalizeCenter(f);var m,g,d=o.project(c),l=o.project(f).sub(d),v=o.zoomScale(s-n);return t.around&&(m=LngLat.convert(t.around),g=o.locationPoint(m)),this.zooming=s!==n,this.rotating=r!==h,this.pitching=p!==a,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(this.zooming&&(o.zoom=interpolate(n,s,t)),this.rotating&&(o.bearing=interpolate(r,h,t)),this.pitching&&(o.pitch=interpolate(a,p,t)),m)o.setLocationAtPoint(m,g);else{var i=o.zoomScale(o.zoom-n),c=s>n?Math.min(2,v):Math.max(.5,v),f=Math.pow(c,1-t),b=o.unproject(d.add(l.mult(t*f)).mult(i));o.setLocationAtPoint(o.renderWorldCopies?b.wrap():b,u)}this._fireMoveEvents(e)},function(){t.delayEndEvents?i._onEaseEnd=setTimeout(function(){return i._easeToEnd(e)},t.delayEndEvents):i._easeToEnd(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire("movestart",t),this.zooming&&this.fire("zoomstart",t),this.pitching&&this.fire("pitchstart",t)},e.prototype._fireMoveEvents=function(t){this.fire("move",t),this.zooming&&this.fire("zoom",t),this.rotating&&this.fire("rotate",t),this.pitching&&this.fire("pitch",t)},e.prototype._easeToEnd=function(t){var e=this.zooming,i=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire("zoomend",t),i&&this.fire("pitchend",t),this.fire("moveend",t)},e.prototype.flyTo=function(t,e){function i(t){var e=(M*M-z*z+(t?-1:1)*L*L*E*E)/(2*(t?M:z)*L*E);return Math.log(Math.sqrt(e*e+1)-e)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}var a=this;this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,h=this.getZoom(),p=this.getBearing(),u=this.getPitch(),c="zoom"in t?+t.zoom:h,f="bearing"in t?this._normalizeBearing(t.bearing,p):p,m="pitch"in t?+t.pitch:u,g=s.zoomScale(c-h),d=s.centerPoint.add(Point.convert(t.offset)),l=s.pointLocation(d),v=LngLat.convert(t.center||l);this._normalizeCenter(v);var b=s.project(l),y=s.project(v).sub(b),_=t.curve,z=Math.max(s.width,s.height),M=z/g,E=y.mag();if("minZoom"in t){var T=util.clamp(Math.min(t.minZoom,h,c),s.minZoom,s.maxZoom),x=z/s.zoomScale(T-h);_=Math.sqrt(x/E*2)}var L=_*_,j=i(0),w=function(t){return n(j)/n(j+_*t)},P=function(t){return z*((n(j)*r(j+_*t)-o(j))/L)/E},Z=(i(1)-j)/_;if(Math.abs(E)<1e-6){if(Math.abs(z-M)<1e-6)return this.easeTo(t,e);var q=M180?-360:i<-180?360:0}},e.prototype._smoothOutEasing=function(t){var e=util.ease;if(this._prevEase){var i=this._prevEase,o=(Date.now()-i.start)/i.duration,n=i.easing(o+.01)-i.easing(o),r=.27/Math.sqrt(n*n+1e-4)*.01,a=Math.sqrt(.0729-r*r);e=util.bezier(r,a,.25,1)}return this._prevEase={start:(new Date).getTime(),duration:t,easing:e},e},e}(_dereq_("../util/evented"));module.exports=Camera},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../style-spec/util/interpolate":123,"../util/browser":195,"../util/evented":203,"../util/util":215,"point-geometry":26}],176:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),AttributionControl=function(t){this.options=t,util.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};AttributionControl.prototype.getDefaultPosition=function(){return"bottom-right"},AttributionControl.prototype.onAdd=function(t){var i=this.options&&this.options.compact;return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),i&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===i&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},AttributionControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},AttributionControl.prototype._updateEditLink=function(){if(this._editLink||(this._editLink=this._container.querySelector(".mapboxgl-improve-map")),this._editLink){var t=this._map.getCenter();this._editLink.href="https://www.mapbox.com/map-feedback/#/"+t.lng+"/"+t.lat+"/"+Math.round(this._map.getZoom()+1)}},AttributionControl.prototype._updateData=function(t){t&&"metadata"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},AttributionControl.prototype._updateAttributions=function(){if(this._map.style){var t=[],i=this._map.style.sourceCaches;for(var o in i){var n=i[o].getSource();n.attribution&&t.indexOf(n.attribution)<0&&t.push(n.attribution)}t.sort(function(t,i){return t.length-i.length}),t=t.filter(function(i,o){for(var n=o+1;n=0)return!1;return!0}),this._container.innerHTML=t.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("mapboxgl-compact")},module.exports=AttributionControl},{"../../util/dom":202,"../../util/util":215}],177:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",l=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),t=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return t.setAttribute("aria-label","Toggle fullscreen"),t.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),l},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(){if((window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._mapContainer!==this._fullscreen){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl},{"../../util/dom":202,"../../util/util":215,"../../util/window":197}],178:[function(_dereq_,module,exports){"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var supportsGeolocation,Evented=_dereq_("../../util/evented"),DOM=_dereq_("../../util/dom"),window=_dereq_("../../util/window"),util=_dereq_("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){!1!==t&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("mapboxgl-watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("mapboxgl-watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl},{"../../util/dom":202,"../../util/evented":203,"../../util/util":215,"../../util/window":197}],179:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o)if(o[t].getSource().mapbox_logo)return!0;return!1}},module.exports=LogoControl},{"../../util/dom":202,"../../util/util":215}],180:[function(_dereq_,module,exports){"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=_dereq_("../../util/dom"),window=_dereq_("../../util/window"),util=_dereq_("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass),this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl},{"../../util/dom":202,"../../util/util":215,"../../util/window":197}],181:[function(_dereq_,module,exports){"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;r>5280?setScale(e,n,r/5280,"mi"):setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n);return 6371e3*Math.acos(Math.min(r,1))}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl},{"../../util/dom":202,"../../util/util":215}],182:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),LngLatBounds=_dereq_("../../geo/lng_lat_bounds"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener("mousedown",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),a=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=a-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler},{"../../geo/lng_lat_bounds":63,"../../util/dom":202,"../../util/util":215,"../../util/window":197}],183:[function(_dereq_,module,exports){"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler},{}],184:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.3,1),DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(.3/s),d=u.mag();d>1400&&(d=1400,u._unit()._mult(d));var h=d/750,v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;return"mousemove"===t.type?!1&t.buttons:t.button&&0!==t.button},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()},module.exports=DragPanHandler},{"../../util/dom":202,"../../util/util":215,"../../util/window":197}],185:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.25,1),DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=!1!==e.pitchWithRotate,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=-.5*(i.y-n.y),o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,_=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,_[1])]),e.transform.bearing=o,this._pitchWithRotate&&(this._fireEvent("pitch",t),e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)180&&(u=180);var l=u/180;_+=p*u*(l/2),Math.abs(i._normalizeBearing(_,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()},module.exports=DragRotateHandler},{"../../util/dom":202,"../../util/util":215,"../../util/window":197}],186:[function(_dereq_,module,exports){"use strict";function easeOut(e){return e*(2-e)}var KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,a=0,n=0,r=0,i=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?a=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),i=-1);break;case 40:e.shiftKey?n=-1:(i=1,e.preventDefault());break;default:return}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+15*a,pitch:s.getPitch()+10*n,offset:[100*-r,100*-i],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler},{}],187:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),browser=_dereq_("../../util/browser"),window=_dereq_("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=-1!==ua.indexOf("firefox"),safari=-1!==ua.indexOf("safari")&&-1===ua.indexOf("chrom"),ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625==0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler},{"../../util/browser":195,"../../util/dom":202,"../../util/util":215,"../../util/window":197}],188:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.15,1),TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>.15;Math.abs(r)>4?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)o.snapToNorth({},{originalEvent:t});else{var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0!==h&&a!==r){var l=.15*s/h;Math.abs(l)>2.5&&(l=l>0?2.5:-2.5);var d=1e3*Math.abs(l/(12*.15)),c=a+l*d/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:d,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})}else o.snapToNorth({},{originalEvent:t})}},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()},module.exports=TouchZoomRotateHandler},{"../../util/dom":202,"../../util/util":215,"../../util/window":197}],189:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),window=_dereq_("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash},{"../util/util":215,"../util/window":197}],190:[function(_dereq_,module,exports){"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=_dereq_("../util/util"),browser=_dereq_("../util/browser"),window=_dereq_("../util/window"),DOM=_dereq_("../util/dom"),ajax=_dereq_("../util/ajax"),Style=_dereq_("../style/style"),AnimationLoop=_dereq_("../style/animation_loop"),Painter=_dereq_("../render/painter"),Transform=_dereq_("../geo/transform"),Hash=_dereq_("./hash"),bindHandlers=_dereq_("./bind_handlers"),Camera=_dereq_("./camera"),LngLat=_dereq_("../geo/lng_lat"),LngLatBounds=_dereq_("../geo/lng_lat_bounds"),Point=_dereq_("point-geometry"),AttributionControl=_dereq_("./control/attribution_control"),LogoControl=_dereq_("./control/logo_control"),isSupported=_dereq_("mapbox-gl-supported"),defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(null!=(e=util.extend({},defaultOptions,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),void 0!==window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return-1!==e.indexOf("bottom")?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.on=function(e,o,i){var r=this;if(void 0===i)return t.prototype.on.call(this,e,o);var s=function(){if("mouseenter"===e||"mouseover"===e){var t=!1;return{layer:o,listener:i,delegates:{mousemove:function(s){var n=r.queryRenderedFeatures(s.point,{layers:[o]});n.length?t||(t=!0,i.call(r,util.extend({features:n},s,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if("mouseleave"===e||"mouseout"===e){var a=!1;return{layer:o,listener:i,delegates:{mousemove:function(t){r.queryRenderedFeatures(t.point,{layers:[o]}).length?a=!0:a&&(a=!1,i.call(r,util.extend({},t,{type:e})))},mouseout:function(t){a&&(a=!1,i.call(r,util.extend({},t,{type:e})))}}}}var u=function(t){var e=r.queryRenderedFeatures(t.point,{layers:[o]});e.length&&i.call(r,util.extend({features:e},t))};return{layer:o,listener:i,delegates:(d={},d[e]=u,d)};var d}();this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(s);for(var n in s.delegates)r.on(n,s.delegates[n]);return this},e.prototype.off=function(e,o,i){var r=this;if(void 0===i)return t.prototype.off.call(this,e,o);if(this._delegatedListeners&&this._delegatedListeners[e])for(var s=this._delegatedListeners[e],n=0;nthis._map.transform.height-n?["bottom"]:[],this._pos.xthis._map.transform.width-e/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var i=this._pos.add(o[t]).round(),r={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%)"},s=this._container.classList;for(var p in r)s.remove("mapboxgl-popup-anchor-"+p);s.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,r[t]+" translate("+i.x+"px,"+i.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup},{"../geo/lng_lat":62,"../util/dom":202,"../util/evented":203,"../util/smart_wrap":212,"../util/util":215,"../util/window":197,"point-geometry":26}],193:[function(_dereq_,module,exports){"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(void 0!==r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(void 0!==r.id&&this.parent.getWorkerSource){var p=r.type.split(".");this.parent.getWorkerSource(r.sourceMapId,p[0])[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor},{}],194:[function(_dereq_,module,exports){"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=_dereq_("./window"),AJAXError=function(e){function t(t,r){e.call(this,t),this.status=r}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error);exports.getJSON=function(e,t){var r=new window.XMLHttpRequest;return r.open("GET",e,!0),r.setRequestHeader("Accept","application/json"),r.onerror=function(e){t(e)},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var e;try{e=JSON.parse(r.response)}catch(e){return t(e)}t(null,e)}else t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getArrayBuffer=function(e,t){var r=new window.XMLHttpRequest;return r.open("GET",e,!0),r.responseType="arraybuffer",r.onerror=function(e){t(e)},r.onload=function(){return 0===r.response.byteLength&&200===r.status?t(new Error("http status 200 returned without content.")):void(r.status>=200&&r.status<300&&r.response?t(null,{data:r.response,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):t(new AJAXError(r.statusText,r.status)))},r.send(),r};exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,r){if(e)return t(e);var n=new window.Image,o=window.URL||window.webkitURL;n.onload=function(){t(null,n),o.revokeObjectURL(n.src)};var s=new window.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?o.createObjectURL(s):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="})},exports.getVideo=function(e,t){var r=window.document.createElement("video");r.onloadstart=function(){t(null,r)};for(var n=0;n=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0,e.width,e.height),t.getImageData(0,0,e.width,e.height).data},exports.supported=_dereq_("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="},{"./window":197,"mapbox-gl-supported":22}],196:[function(_dereq_,module,exports){"use strict";var WebWorkify=_dereq_("webworkify"),window=_dereq_("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(_dereq_("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}},{"../../source/worker":100,"../window":197,webworkify:41}],197:[function(_dereq_,module,exports){"use strict";module.exports=self},{}],198:[function(_dereq_,module,exports){"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=_dereq_("quickselect"),calculateSignedArea=_dereq_("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented},{"./util":215}],204:[function(_dereq_,module,exports){"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}},{"./intersection_tests":207,"point-geometry":26,tinyqueue:30}],205:[function(_dereq_,module,exports){"use strict";var globalWorkerPool,WorkerPool=_dereq_("./worker_pool");module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}},{"./worker_pool":218}],206:[function(_dereq_,module,exports){"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs},{}],207:[function(_dereq_,module,exports){"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i);return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=_dereq_("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}},{"./util":215}],208:[function(_dereq_,module,exports){"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup},{}],209:[function(_dereq_,module,exports){"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){return this.has(t)?this.data[t]:null},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache},{}],210:[function(_dereq_,module,exports){"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(!(e=e||config.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/},{"./browser":195,"./config":199}],211:[function(_dereq_,module,exports){"use strict";var isChar=_dereq_("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||isChar["CJK Compatibility Ideographs"](a)||isChar["CJK Compatibility"](a)||isChar["CJK Radicals Supplement"](a)||isChar["CJK Strokes"](a)||!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||isChar["CJK Unified Ideographs Extension A"](a)||isChar["CJK Unified Ideographs"](a)||isChar["Enclosed CJK Letters and Months"](a)||isChar["Hangul Compatibility Jamo"](a)||isChar["Hangul Jamo Extended-A"](a)||isChar["Hangul Jamo Extended-B"](a)||isChar["Hangul Jamo"](a)||isChar["Hangul Syllables"](a)||isChar.Hiragana(a)||isChar["Ideographic Description Characters"](a)||isChar.Kanbun(a)||isChar["Kangxi Radicals"](a)||isChar["Katakana Phonetic Extensions"](a)||isChar.Katakana(a)&&12540!==a||!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||isChar["Unified Canadian Aboriginal Syllabics"](a)||isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||isChar["Vertical Forms"](a)||isChar["Yijing Hexagram Symbols"](a)||isChar["Yi Syllables"](a)||isChar["Yi Radicals"](a)))},exports.charHasNeutralVerticalOrientation=function(a){return!!(isChar["Latin-1 Supplement"](a)&&(167===a||169===a||174===a||177===a||188===a||189===a||190===a||215===a||247===a)||isChar["General Punctuation"](a)&&(8214===a||8224===a||8225===a||8240===a||8241===a||8251===a||8252===a||8258===a||8263===a||8264===a||8265===a||8273===a)||isChar["Letterlike Symbols"](a)||isChar["Number Forms"](a)||isChar["Miscellaneous Technical"](a)&&(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215)||isChar["Control Pictures"](a)&&9251!==a||isChar["Optical Character Recognition"](a)||isChar["Enclosed Alphanumerics"](a)||isChar["Geometric Shapes"](a)||isChar["Miscellaneous Symbols"](a)&&!(a>=9754&&a<=9759)||isChar["Miscellaneous Symbols and Arrows"](a)&&(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243)||isChar["CJK Symbols and Punctuation"](a)||isChar.Katakana(a)||isChar["Private Use Area"](a)||isChar["CJK Compatibility Forms"](a)||isChar["Small Form Variants"](a)||isChar["Halfwidth and Fullwidth Forms"](a)||8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}},{"./is_char_in_unicode_block":208}],212:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("../geo/lng_lat");module.exports=function(n,t,l){if(n=new LngLat(n.lng,n.lat),t){var a=new LngLat(n.lng-360,n.lat),i=new LngLat(n.lng+360,n.lat),o=l.locationPoint(n).distSqr(t);l.locationPoint(a).distSqr(t)180;){var e=l.locationPoint(n);if(e.x>=0&&e.y>=0&&e.x<=l.width&&e.y<=l.height)break;n.lng>l.center.lng?n.lng-=360:n.lng+=360}return n}},{"../geo/lng_lat":62}],213:[function(_dereq_,module,exports){"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0==--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],216:[function(_dereq_,module,exports){"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature},{}],217:[function(_dereq_,module,exports){"use strict";var scriptDetection=_dereq_("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}},{"./script_detection":211}],218:[function(_dereq_,module,exports){"use strict";var WebWorker=_dereq_("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=_dereq_("../").workerCount;for(this.workers=[];this.workers.length {\n return string.split('-').map(([first,...rest]) => first.toUpperCase() + rest.join('').toLowerCase()).join(' ');\n};\n\nconst addMapTypeOption = (map, menu, option, checked = false) => {\n let input = document.createElement('input');\n input.setAttribute('id', option);\n input.setAttribute('type', 'radio');\n input.setAttribute('name', 'toggle');\n input.setAttribute('value', option);\n if (checked == true) {\n input.setAttribute('checked', 'checked');\n }\n input.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/' + option + '-v9');\n });\n let label = document.createElement('label');\n label.setAttribute('for', option);\n label.appendChild(document.createTextNode(titlecase(option)));\n menu.appendChild(input);\n menu.appendChild(label);\n};\n\nconst makeMapMenu = (map) => {\n let mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n addMapTypeOption(map, mapMenu, 'streets', true);\n addMapTypeOption(map, mapMenu, 'satellite-streets');\n return mapMenu;\n};\n\n//the main function\nexport default function addMap(div, position = null, places = null) {\n let dataLatitude = div.dataset.latitude;\n let dataLongitude = div.dataset.longitude;\n let dataId = div.dataset.id;\n let data = window['geojson'+dataId];\n if (data == null) {\n data = {\n 'type': 'FeatureCollection',\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [dataLongitude, dataLatitude]\n },\n 'properties': {\n 'title': 'Current Location',\n 'icon': 'circle-stroked',\n 'uri': 'current-location'\n }\n }]\n };\n }\n if (places != null) {\n for (let place of places) {\n let placeLongitude = parseLocation(place.location).longitude;\n let placeLatitude = parseLocation(place.location).latitude;\n data.features.push({\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [placeLongitude, placeLatitude]\n },\n 'properties': {\n 'title': place.name,\n 'icon': 'circle',\n 'uri': place.slug\n }\n });\n }\n }\n if (position != null) {\n dataLongitude = position.coords.longitude;\n dataLatitude = position.coords.latitude;\n }\n let map = new mapboxgl.Map({\n container: div,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [dataLongitude, dataLatitude],\n zoom: 15\n });\n if (position == null) {\n map.scrollZoom.disable();\n }\n map.addControl(new mapboxgl.NavigationControl());\n div.appendChild(makeMapMenu(map));\n map.on('load', function () {\n map.addSource('points', {\n 'type': 'geojson',\n 'data': data\n });\n map.addLayer({\n 'id': 'points',\n 'interactive': true,\n 'type': 'symbol',\n 'source': 'points',\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\n if (position != null) {\n map.on('click', function (e) {\n let features = map.queryRenderedFeatures(e.point, {\n layer: ['points']\n });\n // if there are features within the given radius of the click event,\n // fly to the location of the click event\n if (features.length) {\n // Get coordinates from the symbol and center the map on those coordinates\n map.flyTo({center: features[0].geometry.coordinates});\n selectPlaceInForm(features[0].properties.uri);\n }\n });\n }\n if (data.features && data.features.length > 1) {\n let bounds = new mapboxgl.LngLatBounds();\n for (let feature of data.features) {\n bounds.extend(feature.geometry.coordinates);\n }\n map.fitBounds(bounds, { padding: 65});\n }\n\n return map;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./mapbox-utils.js","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/base64-js/index.js\n// module id = 5\n// module chunks = 0 1","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/index.js\n// module id = 6\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/~/isarray/index.js\n// module id = 7\n// module chunks = 0 1","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/ieee754/index.js\n// module id = 8\n// module chunks = 0 1","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(require,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(require,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(require,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(require,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(require,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require(\"./feature\");\n},{\"./feature\":10}],9:[function(require,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(require,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(require,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(require,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(require,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(require,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(require,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.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?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(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(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(require,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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 n=t.x-this.x,i=t.y-this.y;return n*n+i*i},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,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,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},_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 n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(require,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(require,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(require,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58}],45:[function(require,module,exports){\n\"use strict\";var ArrayGroup=require(\"./array_group\"),BufferGroup=require(\"./buffer_group\"),util=require(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60}],47:[function(require,module,exports){\n\"use strict\";var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){\"bevel\"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?\"butt\":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&\"round\"===F&&(Ia&&(F=\"bevel\"),\"bevel\"===F&&(I>2&&(F=\"flipbevel\"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if(\"bevel\"===F||\"fakeround\"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),\"fakeround\"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else\"butt\"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):\"square\"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):\"round\"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"vector-tile\":34}],50:[function(require,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require(\"point-geometry\"),ArrayGroup=require(\"../array_group\"),BufferGroup=require(\"../buffer_group\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),EXTENT=require(\"../extent\"),Anchor=require(\"../../symbol/anchor\"),getAnchors=require(\"../../symbol/get_anchors\"),resolveTokens=require(\"../../util/token\"),Quads=require(\"../../symbol/quads\"),Shaping=require(\"../../symbol/shaping\"),resolveText=require(\"../../symbol/resolve_text\"),mergeLines=require(\"../../symbol/mergelines\"),clipLine=require(\"../../symbol/clip_line\"),util=require(\"../../util/util\"),scriptDetection=require(\"../../util/script_detection\"),loadGeometry=require(\"../load_geometry\"),CollisionFeature=require(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=require(\"../../util/find_pole_of_inaccessibility\"),classifyRings=require(\"../../util/classify_rings\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,rtlTextPlugin=require(\"../../source/rtl_text_plugin\"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"text-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"text-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"text-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"text-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"text-opacity\",type:\"Uint8\",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"icon-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"icon-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"icon-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"icon-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"icon-opacity\",type:\"Uint8\",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=a[\"icon-image\"],l=i&&(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if(\"line\"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../source/rtl_text_plugin\":90,\"../../symbol/anchor\":157,\"../../symbol/clip_line\":159,\"../../symbol/collision_feature\":161,\"../../symbol/get_anchors\":163,\"../../symbol/mergelines\":166,\"../../symbol/quads\":167,\"../../symbol/resolve_text\":168,\"../../symbol/shaping\":169,\"../../util/classify_rings\":195,\"../../util/find_pole_of_inaccessibility\":201,\"../../util/script_detection\":209,\"../../util/token\":211,\"../../util/util\":212,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"point-geometry\":26,\"vector-tile\":34}],51:[function(require,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":212,\"./extent\":54}],57:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":210}],58:[function(require,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require(\"./vertex_array_type\"),util=require(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty(\"lng\")&&t.hasOwnProperty(\"lat\"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":212}],63:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),Point=require(\"point-geometry\"),Coordinate=require(\"./coordinate\"),util=require(\"../util/util\"),interp=require(\"../util/interpolate\"),TileCoord=require(\"../source/tile_coord\"),EXTENT=require(\"../data/extent\"),glmatrix=require(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":94,\"../util/interpolate\":204,\"../util/util\":212,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(require,module,exports){\n\"use strict\";var browser=require(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=require(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require(\"./ui/map\"),mapboxgl.NavigationControl=require(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=require(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=require(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=require(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=require(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=require(\"./ui/popup\"),mapboxgl.Marker=require(\"./ui/marker\"),mapboxgl.Style=require(\"./style/style\"),mapboxgl.LngLat=require(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=require(\"./geo/lng_lat_bounds\"),mapboxgl.Point=require(\"point-geometry\"),mapboxgl.Evented=require(\"./util/evented\"),mapboxgl.supported=require(\"./util/browser\").supported;var config=require(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=require(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":90,\"./style/style\":146,\"./ui/control/attribution_control\":173,\"./ui/control/fullscreen_control\":174,\"./ui/control/geolocate_control\":175,\"./ui/control/navigation_control\":177,\"./ui/control/scale_control\":178,\"./ui/map\":187,\"./ui/marker\":188,\"./ui/popup\":189,\"./util/browser\":192,\"./util/config\":196,\"./util/evented\":200,\"point-geometry\":26}],66:[function(require,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":192,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(require,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":212}],74:[function(require,module,exports){\n\"use strict\";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout[\"text-allow-overlap\"]||a.layout[\"icon-allow-overlap\"]||a.layout[\"text-ignore-placement\"]||a.layout[\"icon-ignore-placement\"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint[\"icon-translate\"],a.paint[\"icon-translate-anchor\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-size\"]),drawLayerSymbols(e,t,a,i,!0,a.paint[\"text-translate\"],a.paint[\"text-translate-anchor\"],a.layout[\"text-rotation-alignment\"],a.layout[\"text-pitch-alignment\"],a.layout[\"text-size\"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m=\"map\"===l,p=\"map\"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":87}],79:[function(require,module,exports){\n\"use strict\";var path=require(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n float r = floor(encodedColor[0]/256.0)/255.0;\\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\\n float b = floor(encodedColor[1]/256.0)/255.0;\\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\\n return vec4(r, g, b, a);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform lowp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n 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);\\n 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);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n 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);\\n 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);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n 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, pos);\\n 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, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform float u_opacity;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform int u_xdim;\\nuniform int u_ydim;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos.x = a_pos.x / float(u_xdim);\\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_font_scale;\\nuniform highp float u_gamma_scale;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(require,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194}],83:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),rewind=require(\"geojson-rewind\"),GeoJSONWrapper=require(\"./geojson_wrapper\"),vtpbf=require(\"vt-pbf\"),supercluster=require(\"supercluster\"),geojsonvt=require(\"geojson-vt\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":191,\"./geojson_wrapper\":84,\"./vector_tile_worker_source\":96,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],84:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTENT=require(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":200,\"../util/mapbox\":208,\"../util/util\":212,\"./load_tilejson\":86}],96:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),vt=require(\"vector-tile\"),Protobuf=require(\"pbf\"),WorkerTile=require(\"./worker_tile\"),util=require(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":191,\"../util/util\":212,\"./worker_tile\":99,\"pbf\":25,\"vector-tile\":34}],97:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),ImageSource=require(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":191,\"./image_source\":85}],98:[function(require,module,exports){\n\"use strict\";var Actor=require(\"../util/actor\"),StyleLayerIndex=require(\"../style/style_layer_index\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=require(\"./geojson_worker_source\"),globalRTLTextPlugin=require(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":154,\"../util/actor\":190,\"./geojson_worker_source\":83,\"./rtl_text_plugin\":90,\"./vector_tile_worker_source\":96}],99:[function(require,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],104:[function(require,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],105:[function(require,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return\"function\"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],108:[function(require,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],109:[function(require,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],113:[function(require,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],114:[function(require,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require(\"lodash._baseisequal\"),bindCallback=require(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":109,\"lodash._bindcallback\":110}],115:[function(require,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],116:[function(require,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"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\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],119:[function(require,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":102,\"../util/extend\":119,\"../util/get_type\":120,\"./validate_array\":125,\"./validate_boolean\":126,\"./validate_color\":127,\"./validate_constants\":128,\"./validate_enum\":129,\"./validate_filter\":130,\"./validate_function\":131,\"./validate_layer\":133,\"./validate_light\":135,\"./validate_number\":136,\"./validate_object\":137,\"./validate_source\":140,\"./validate_string\":141}],125:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],129:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123}],130:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateEnum=require(\"./validate_enum\"),getType=require(\"../util/get_type\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"../util/unbundle_jsonlint\":123,\"./validate\":124,\"./validate_array\":125,\"./validate_number\":136,\"./validate_object\":137}],132:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateString=require(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":102,\"./validate_string\":141}],133:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateFilter=require(\"./validate_filter\"),validatePaintProperty=require(\"./validate_paint_property\"),validateLayoutProperty=require(\"./validate_layout_property\"),extend=require(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],137:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\"),validateSpec=require(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],138:[function(require,module,exports){\n\"use strict\";var validateProperty=require(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":139}],139:[function(require,module,exports){\n\"use strict\";var validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],140:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateEnum=require(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123,\"./validate_enum\":129,\"./validate_object\":137}],141:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),ValidationError=require(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],142:[function(require,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require(\"./validate/validate_constants\"),validate=require(\"./validate/validate\"),latestStyleSpec=require(\"./reference/latest\"),validateGlyphsURL=require(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(require(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(require(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(require(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(require(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(require(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(require(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":117,\"./validate/validate\":124,\"./validate/validate_constants\":128,\"./validate/validate_filter\":130,\"./validate/validate_glyphs_url\":132,\"./validate/validate_layer\":133,\"./validate/validate_layout_property\":134,\"./validate/validate_light\":135,\"./validate/validate_paint_property\":138,\"./validate/validate_source\":140}],143:[function(require,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],144:[function(require,module,exports){\n\"use strict\";var Evented=require(\"../util/evented\"),ajax=require(\"../util/ajax\"),browser=require(\"../util/browser\"),normalizeURL=require(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(i,r,\".json\"),function(t,i){return t?void a.fire(\"error\",{error:t}):(a.data=i,void(a.imgData&&a.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(i,r,\".png\"),function(t,i){if(t)return void a.fire(\"error\",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on(\"data\",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":191,\"../util/browser\":192,\"../util/evented\":200,\"../util/mapbox\":208}],145:[function(require,module,exports){\n\"use strict\";var styleSpec=require(\"../style-spec/reference/latest\"),util=require(\"../util/util\"),Evented=require(\"../util/evented\"),validateStyle=require(\"./validate_style\"),StyleDeclaration=require(\"./style_declaration\"),StyleTransition=require(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../util/interpolate\":204,\"../util/util\":212}],156:[function(require,module,exports){\n\"use strict\";module.exports=require(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],159:[function(require,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],160:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),Point=require(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{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:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":210,\"point-geometry\":26}],161:[function(require,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],162:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),EXTENT=require(\"../data/extent\"),Grid=require(\"grid-index\"),intersectionTests=require(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require(\"../util/interpolate\"),Anchor=require(\"../symbol/anchor\"),checkMaxAngle=require(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../symbol/anchor\":157,\"../util/interpolate\":204,\"./check_max_angle\":158}],164:[function(require,module,exports){\n\"use strict\";var ShelfPack=require(\"@mapbox/shelf-pack\"),util=require(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":199,\"./handler/box_zoom\":179,\"./handler/dblclick_zoom\":180,\"./handler/drag_pan\":181,\"./handler/drag_rotate\":182,\"./handler/keyboard\":183,\"./handler/scroll_zoom\":184,\"./handler/touch_zoom_rotate\":185,\"point-geometry\":26}],172:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),interpolate=require(\"../util/interpolate\"),browser=require(\"../util/browser\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),Evented=require(\"../util/evented\"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),\"center\"in t&&(e.center=LngLat.convert(t.center)),\"bearing\"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),\"pitch\"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire(\"movestart\",i).fire(\"move\",i),o&&this.fire(\"zoomstart\",i).fire(\"zoom\",i).fire(\"zoomend\",i),n&&this.fire(\"rotate\",i),r&&this.fire(\"pitch\",i),this.fire(\"moveend\",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:u;\"center\"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):\"around\"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire(\"movestart\",i)),this.zooming&&this.fire(\"zoomstart\",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire(\"move\",i),this.zooming&&this.fire(\"zoom\",i),this.rotating&&this.fire(\"rotate\",i),this.pitching&&this.fire(\"pitch\",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c=\"center\"in t?LngLat.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,f=\"pitch\"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v=\"center\"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if(\"minZoom\"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],174:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",t=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),l=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return l.setAttribute(\"aria-label\",\"Toggle fullscreen\"),l.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],175:[function(require,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require(\"../../util/evented\"),DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":199,\"../../util/evented\":200,\"../../util/util\":212,\"../../util/window\":194}],176:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],177:[function(require,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],178:[function(require,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],179:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),LngLatBounds=require(\"../../geo/lng_lat_bounds\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=r-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],180:[function(require,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],181:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],182:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],183:[function(require,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],184:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),browser=require(\"../../util/browser\"),window=require(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":192,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],185:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],186:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),window=require(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":212,\"../util/window\":194}],187:[function(require,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require(\"../util/util\"),browser=require(\"../util/browser\"),window=require(\"../util/window\"),DOM=require(\"../util/dom\"),Style=require(\"../style/style\"),AnimationLoop=require(\"../style/animation_loop\"),Painter=require(\"../render/painter\"),Transform=require(\"../geo/transform\"),Hash=require(\"./hash\"),bindHandlers=require(\"./bind_handlers\"),Camera=require(\"./camera\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),AttributionControl=require(\"./control/attribution_control\"),LogoControl=require(\"./control/logo_control\"),isSupported=require(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||\"number\"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&\"string\"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\". Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=DOM.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=DOM.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",0),this._canvas.setAttribute(\"aria-label\",\"Map\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create(\"div\",\"mapboxgl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){r[t]=DOM.create(\"div\",\"mapboxgl-ctrl-\"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof window&&(window.removeEventListener(\"resize\",this._onWindowResize,!1),window.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":77,\"../style/animation_loop\":143,\"../style/style\":146,\"../util/browser\":192,\"../util/dom\":199,\"../util/util\":212,\"../util/window\":194,\"./bind_handlers\":171,\"./camera\":172,\"./control/attribution_control\":173,\"./control/logo_control\":176,\"./hash\":186,\"mapbox-gl-supported\":22,\"point-geometry\":26}],188:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&\"moveend\"!==t.type||(e=e.round()),DOM.setTransform(this._element,\"translate(\"+e.x+\"px, \"+e.y+\"px)\")}},module.exports=Marker;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"point-geometry\":26}],189:[function(require,module,exports){\n\"use strict\";function normalizeOffset(t){if(t){if(\"number\"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),\"top-left\":new Point(o,o),\"top-right\":new Point(-o,o),bottom:new Point(0,-t),\"bottom-left\":new Point(o,-o),\"bottom-right\":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,\"top-left\":e,\"top-right\":e,bottom:e,\"bottom-left\":e,\"bottom-right\":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),\"top-left\":Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":Point.convert(t[\"top-right\"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),\"bottom-left\":Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":Point.convert(t[\"bottom-right\"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require(\"../util/util\"),Evented=require(\"../util/evented\"),DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),window=require(\"../util/window\"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement(\"body\");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=DOM.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=DOM.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-n/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var r=e.add(o[t]),s={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%)\"},p=this._container.classList;for(var a in s)p.remove(\"mapboxgl-popup-anchor-\"+a);p.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,s[t]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194,\"point-geometry\":26}],190:[function(require,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],191:[function(require,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require(\"./window\");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.setRequestHeader(\"Accept\",\"application/json\"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.responseType=\"arraybuffer\",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error(\"http status 200 returned without content.\")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader(\"Cache-Control\"),expires:n.getResponseHeader(\"Expires\")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:\"image/png\"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement(\"video\");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":194,\"mapbox-gl-supported\":22}],193:[function(require,module,exports){\n\"use strict\";var WebWorkify=require(\"webworkify\"),window=require(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(require(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":98,\"../window\":194,\"webworkify\":41}],194:[function(require,module,exports){\n\"use strict\";module.exports=self;\n},{}],195:[function(require,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=require(\"quickselect\"),calculateSignedArea=require(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":212}],201:[function(require,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":205,\"point-geometry\":26,\"tinyqueue\":30}],202:[function(require,module,exports){\n\"use strict\";var WorkerPool=require(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":215}],203:[function(require,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],204:[function(require,module,exports){\n\"use strict\";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})};\n},{}],205:[function(require,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":212}],206:[function(require,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],207:[function(require,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],208:[function(require,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]+)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":192,\"./config\":196}],209:[function(require,module,exports){\n\"use strict\";var isChar=require(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":206}],210:[function(require,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],213:[function(require,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],214:[function(require,module,exports){\n\"use strict\";var scriptDetection=require(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":209}],215:[function(require,module,exports){\n\"use strict\";var WebWorker=require(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require(\"../\").workerCount;for(this.workers=[];this.workers.length","?","@","G","J","K","Y","[","\\","]","^","`","{","|","}","~","../data/buffer","../data/pos_array","./vertex_array_object","70","drawFill","drawFillTiles","drawFillTile","getPaintProperty","drawStrokeTile","setFillProgram","u_world","drawingBufferWidth","drawingBufferHeight","currentProgram","71","draw","DEPTH_TEST","ExtrusionTexture","bindFramebuffer","clearColor","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","drawExtrusion","unbindFramebuffer","renderToMap","painter","texture","fbo","fbos","preFbos","u_height_factor","setLight","light","calculated","uniform3fv","u_lightpos","u_lightintensity","intensity","u_lightcolor","color","getViewportTexture","activeTexture","TEXTURE1","bindTexture","TEXTURE_2D","createTexture","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","createFramebuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorage","DEPTH_COMPONENT16","framebufferRenderbuffer","DEPTH_ATTACHMENT","bindDefaultFramebuffer","saveViewportTexture","TEXTURE0","u_image","72","drawLineTile","pixelsToTileUnits","lineAtlas","getDash","from","to","fromScale","toScale","u_patternscale_a","u_patternscale_b","u_sdfgamma","spriteAtlas","getPosition","u_pattern_size_a","u_pattern_size_b","u_gl_units_to_pixels","u_tex_y_a","u_tex_y_b","u_mix","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_fade","u_width","u_ratio","../source/pixels_to_tile_units","73","drawRaster","depthFunc","LESS","drawRasterTile","LEQUAL","registerFadeDuration","animationLoop","u_brightness_low","u_brightness_high","u_saturation_factor","saturationFactor","u_contrast_factor","contrastFactor","u_spin_weights","spinWeights","sourceCache","findLoadedParent","getFadeValues","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","mix","opacity","u_image0","u_image1","boundsBuffer","rasterBoundsBuffer","boundsVAO","rasterBoundsVAO","timeAdded","refreshedUponExpiration","74","drawSymbols","drawLayerSymbols","showCollisionBoxes","sprite","loaded","setSymbolDrawState","drawTileSymbols","u_rotate_with_map","u_pitch_with_map","u_texture","u_is_text","glyphSource","getGlyphAtlas","updateTexture","u_texsize","rotating","zooming","frameHistory","u_fadetexture","u_pitch","u_bearing","u_aspect_ratio","u_is_size_zoom_constant","u_is_size_feature_constant","interpolationFactor","u_size","u_layout_size","u_size_t","u_gamma_scale","u_is_halo","drawSymbolElements","../style-spec/function","./draw_collision_debug","75","FrameHistory","changeTimes","changeOpacities","opacities","Uint8ClampedArray","previousZoom","firstFrame","record","changed","texSubImage2D","ALPHA","NEAREST","76","LineAtlas","nextRow","bytes","positions","setSprite","addDash","dirty","REPEAT","77","SourceCache","shaders","symbol","circle","line","fill-extrusion","raster","background","Painter","reusableTextures","viewport","setup","numSublayers","maxUnderzooming","maxOverzooming","depthEpsilon","lineWidthRange","getParameter","ALIASED_LINE_WIDTH_RANGE","emptyProgramConfiguration","verbose","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","_depthMask","extTextureFilterAnisotropic","getExtension","extTextureFilterAnisotropicMax","MAX_TEXTURE_MAX_ANISOTROPY_EXT","clearStencil","stencilMask","STENCIL_BUFFER_BIT","clearDepth","_renderTileClippingMasks","colorMask","stencilOp","KEEP","REPLACE","_tileClippingMaskIDs","stencilFunc","ALWAYS","EQUAL","prepareBuffers","render","getTransition","duration","showOverdrawInspector","depthRange","_order","renderPass","showTileBoundaries","sourceCaches","getVisibleCoordinates","currentLayer","_showOverdrawInspector","_layers","isTileClipped","renderLayer","isHidden","saveTileTexture","getTileTexture","deleteTexture","CONSTANT_COLOR","blendColor","createProgram","toFixed","prelude","fragmentSource","vertexSource","createShader","FRAGMENT_SHADER","shaderSource","compileShader","attachShader","VERTEX_SHADER","linkProgram","getProgramParameter","ACTIVE_ATTRIBUTES","program","numAttributes","getActiveAttrib","getAttribLocation","ACTIVE_UNIFORMS","getActiveUniform","getUniformLocation","_createProgramCached","../data/program_configuration","../data/raster_bounds_array","../source/source_cache","./draw_background","./draw_circle","./draw_debug","./draw_fill","./draw_fill_extrusion","./draw_line","./draw_raster","./draw_symbol","./frame_history","./shaders","78","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_pixel_coord_upper","u_pixel_coord_lower","79","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","extrusionTexture","linePattern","lineSDF","symbolIcon","symbolSDF","path","80","boundProgram","boundVertexBuffer","boundVertexBuffer2","boundElementBuffer","boundVertexOffset","vao","extVertexArrayObject","freshBind","bindVertexArrayOES","createVertexArrayOES","currentNumAttributes","disableVertexAttribArray","deleteVertexArrayOES","81","82","ImageSource","CanvasSource","animate","canvas","getElementById","_hasInvalidDimensions","fire","play","_rerender","pause","cancel","_finishLoading","getCanvas","onAdd","_prepareImage","../util/window","./image_source","83","resolveURL","href","GeoJSONSource","dispatcher","setEventedParent","workerOptions","geojsonVtOptions","superclusterOptions","clusterMaxZoom","clusterRadius","dataType","_updateWorkerData","sourceDataType","setData","url","workerID","send","_loaded","loadTile","unloadVectorData","aborted","loadVectorData","redoWhenDone","redoPlacement","abortTile","unloadTile","onRemove","broadcast","../util/evented","84","ajax","vtpbf","GeoJSONWorkerSource","loadGeoJSON","_geoJSONIndexes","_geojsonTileLayer","byteOffset","rawData","loadData","_indexData","getJSON","parse","removeSource","../util/ajax","./geojson_wrapper","./vector_tile_worker_source","geojson-rewind","geojson-vt","vt-pbf","85","86","getImage","image","setCoordinates","centerCoord","getCoordinatesCenter","_tileCoords","_setTile","buckets","state","HTMLVideoElement","ImageData","HTMLCanvasElement","urls","../geo/lng_lat","./tile_coord","87","normalizeURL","normalizeSourceURL","pick","vector_layers","vectorLayers","vectorLayerIds","frame","../util/mapbox","88","89","sortTilesIn","mergeRenderedFeatureLayers","rendered","tilesIn","getRenderableIds","getTileByID","sourceMaxZoom","querySourceFeatures","90","loadTileJSON","normalizeTileURL","TileBounds","RasterTileSource","scheme","setBounds","tileBounds","hasTile","contains","_refreshExpiredTiles","setExpiryData","cacheControl","expires","LINEAR_MIPMAP_NEAREST","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","generateMipmap","abort","./load_tilejson","./tile_bounds","91","pluginRequested","pluginBlobURL","evented","registerForPluginAvailability","errorCallback","getArrayBuffer","92","sourceTypes","vector","geojson","video","bindAll","getType","setType","../source/canvas_source","../source/geojson_source","../source/image_source","../source/raster_tile_source","../source/vector_tile_source","../source/video_source","93","coordinateToTilePoint","compareKeyZoom","isRasterType","Source","Tile","Cache","_sourceLoaded","reload","update","_sourceErrored","_source","_tiles","_cache","_timers","_cacheTimers","_isIdRenderable","getIds","hasData","_coveredTiles","reset","reloadTile","_tileLoaded","status","getTime","_setTileReloadTimer","getZoom","findLoadedChildren","parent","has","getWithoutRemoving","updateCacheSize","setMaxSize","used","addTile","fromID","fadeEndTime","keysDifference","removeTile","wrapped","uses","getExpiryTimeout","_setCacheInvalidationTimer","remove","clearTiles","../geo/coordinate","../util/lru_cache","./source","94","CollisionTile","CollisionBoxArray","uniqueId","expirationTime","expiredRequestCount","reloadSymbolData","sourceLayer","parseCacheControl","../data/bucket","../data/feature_index","../symbol/collision_box","../symbol/collision_tile","95","validateBounds","minX","minY","maxX","maxY","../geo/lng_lat_bounds","96","edge","x0","y0","dx","dy","scanSpans","scanTriangle","getQuadkey","children","@mapbox/whoots-js","97","VectorTileSource","_options","reloadCallback","98","WorkerTile","VectorTileWorkerSource","actor","layerIndex","loading","vectorTile","result","transferables","./worker_tile","99","VideoSource","getVideo","loop","readyState","100","Actor","StyleLayerIndex","globalRTLTextPlugin","layerIndexes","workerSourceTypes","workerSources","registerWorkerSource","registerRTLTextPlugin","applyArabicShaping","processBidirectionalText","setLayers","getLayerIndex","updateLayers","removedIds","symbolOrder","getWorkerSource","loadWorkerSource","importScripts","loadRTLTextPlugin","../style/style_layer_index","../util/actor","./geojson_worker_source","./rtl_text_plugin","101","recalculateLayers","recalculate","serializeBuckets","familiesBySource","encode","visibility","symbolBuckets","stacks","icons","102","deref","refProperties","derefLayers","./util/ref_properties","103","diffSources","operations","args","isEqual","addSource","diffLayerPropertyChanges","pluckId","indexById","diffLayers","removeLayer","setLayoutProperty","setPaintProperty","setFilter","setLayerZoomRange","setLayerProperty","diffStyles","setCenter","setZoom","setBearing","setPitch","glyphs","setGlyphs","transition","setTransition","warn","lodash.isequal","104","ValidationError","message","__line__","105","createFilter","compile","compileComparisonOp","compileLogicalOp","compileNegation","compileInOp","compileHasOp","compilePropertyReference","106","xyz2lab","t3","t2","t0","lab2xyz","t1","xyz2rgb","rgb2xyz","rgbToLab","Xn","Yn","Zn","labToRgb","rgbToHcl","rad2deg","hclToRgb","deg2rad","lab","forward","hcl","107","identityFunction","createFunction","isFunctionDefinition","stops","function","parseColor","evaluateExponentialFunction","evaluateIntervalFunction","evaluateCategoricalFunction","evaluateIdentityFunction","colorSpace","colorSpaces","coalesce","findStopLessThanOrEqualTo","interpolate","../util/extend","../util/get_type","../util/interpolate","../util/parse_color","./color_spaces","108","groupByLayout","fast-stable-stringify","109","clamp_css_byte","clamp_css_float","parse_css_int","parseFloat","parse_css_float","css_hue_to_rgb","parseCSSColor","kCSSColorTable","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","110","sss","objKeys","strReg","strReplace","stringSearch","stringReplace","111","isObjectLike","arraySome","baseIsEqual","baseIsEqualDeep","arrayTag","objToString","argsTag","objectTag","isTypedArray","equalByTag","equalArrays","equalObjects","boolTag","dateTag","errorTag","numberTag","regexpTag","stringTag","objectProto","lodash.isarray","lodash.istypedarray","lodash.keys","112","bindCallback","113","getNative","isNative","funcTag","reIsNative","fnToString","reIsHostCtor","114","isArguments","isArrayLikeObject","propertyIsEnumerable","isArrayLike","isLength","genTag","MAX_SAFE_INTEGER","115","116","lodash._baseisequal","lodash._bindcallback","117","typedArrayTags","118","getLength","isIndex","reIsUint","shimKeys","keysIn","nativeKeys","lodash._getnative","lodash.isarguments","119","./v8.json","120","$version","$root","required","metadata","period","units","source_tile","source_geojson","maximum","minimum","source_video","source_image","source_canvas","source-layer","paint.*","layout_background","visible","none","layout_fill","layout_circle","layout_fill-extrusion","layout_line","line-cap","zoom-function","butt","square","line-join","bevel","miter","line-miter-limit","requires","line-round-limit","layout_symbol","symbol-placement","symbol-spacing","symbol-avoid-edges","icon-allow-overlap","icon-ignore-placement","icon-optional","icon-rotation-alignment","auto","icon-size","property-function","icon-text-fit","both","icon-text-fit-padding","tokens","icon-rotate","icon-padding","icon-keep-upright","icon-offset","text-pitch-alignment","text-rotation-alignment","text-font","text-size","text-max-width","text-line-height","text-letter-spacing","text-justify","left","right","text-anchor","top","bottom","top-left","top-right","bottom-left","bottom-right","text-max-angle","text-rotate","text-padding","text-keep-upright","text-transform","uppercase","lowercase","text-allow-overlap","text-ignore-placement","text-optional","layout_raster","filter_operator","==","!=",">=","<=","in","!in","all","any","!has","geometry_type","exponential","interval","categorical","rgb","function_stop","paint_fill","fill-antialias","fill-opacity","fill-color","fill-outline-color","fill-translate","fill-translate-anchor","fill-pattern","paint_fill-extrusion","fill-extrusion-opacity","fill-extrusion-color","fill-extrusion-translate","fill-extrusion-translate-anchor","fill-extrusion-pattern","fill-extrusion-height","fill-extrusion-base","paint_line","line-opacity","line-color","line-translate","line-translate-anchor","line-width","line-gap-width","line-offset","line-blur","line-dasharray","line-pattern","paint_circle","circle-radius","circle-color","circle-blur","circle-opacity","circle-translate","circle-translate-anchor","circle-pitch-scale","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","paint_symbol","icon-opacity","icon-color","icon-halo-color","icon-halo-width","icon-halo-blur","icon-translate","icon-translate-anchor","text-opacity","text-color","text-halo-color","text-halo-width","text-halo-blur","text-translate","text-translate-anchor","paint_raster","raster-opacity","raster-hue-rotate","raster-brightness-min","raster-brightness-max","raster-saturation","raster-contrast","raster-fade-duration","paint_background","background-color","background-pattern","background-opacity","delay","121","122","123","vec2","124","parseColorString","csscolorparser","125","126","valueOf","127","constants","enum","valueSpec","styleSpec","../error/validation_error","./validate_array","./validate_boolean","./validate_color","./validate_constants","./validate_enum","./validate_filter","./validate_function","./validate_layer","./validate_light","./validate_number","./validate_object","./validate_source","./validate_string","128","validate","arrayElementValidator","arrayIndex","./validate","129","130","131","132","unbundle","../util/unbundle_jsonlint","133","validateEnum","134","validateObject","validateArray","validateNumber","objectElementValidators","isFinite","135","validateString","136","validateFilter","validatePaintProperty","validateLayoutProperty","layerType","./validate_layout_property","./validate_paint_property","137","validateProperty","./validate_property","138","139","140","validateSpec","objectKey","141","142","143","144","145","validateStyleMin","latestStyleSpec","validateGlyphsURL","validateConstants","sortErrors","wrapCleanErrors","paintProperty","layoutProperty","./reference/latest","./validate/validate","./validate/validate_constants","./validate/validate_filter","./validate/validate_glyphs_url","./validate/validate_layer","./validate/validate_layout_property","./validate/validate_light","./validate/validate_paint_property","./validate/validate_source","146","AnimationLoop","times","stopped","147","normalizeSpriteURL","SpritePosition","ImageSprite","retina","imgData","getImageData","toJSON","getSpritePosition","148","validateStyle","StyleDeclaration","StyleTransition","Light","_specifications","_validate","_declarations","_transitions","_transitionOptions","getLight","getLightProperty","endsWith","getLightValue","calculate","sphericalToCartesian","_applyLightDeclaration","declaration","json","instant","loopID","endTime","updateLightTransitions","emitErrors","../style-spec/reference/latest","./style_declaration","./style_transition","./validate_style","149","StyleLayer","GlyphSource","SpriteAtlas","mapbox","Dispatcher","QueryFeatures","MapboxGLFunction","getWorkerPool","diff","supportedDiffOperations","ignoredDiffOperations","zoomHistory","_resetUpdates","isMapboxURL","_rtlTextPluginCallback","stylesheet","updateClasses","_resolve","normalizeStyleURL","sourceId","_validateLayer","_updatedSources","_serializeLayers","_applyClasses","_updatedAllPaintProps","_updatedPaintProps","updatePaintTransitions","updatePaintTransition","_recalculate","_updateZoomHistory","lastIntegerZoom","lastIntegerZoomTime","lastZoom","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updatedSymbolOrder","_updateWorkerLayers","_reloadSource","_clearSource","setState","isSourceLoaded","_updateLayer","moveLayer","deepEqual","getFilter","filterObject","_flattenRenderedFeatures","addSourceType","workerSourceURL","_remove","_updateSources","_redoPlacement","getIcons","addIcons","getGlyphs","getSimpleGlyphs","../render/line_atlas","../source/query_features","../source/rtl_text_plugin","../source/source","../style-spec/deref","../style-spec/diff","../symbol/glyph_source","../symbol/sprite_atlas","../util/dispatcher","../util/global_worker_pool","./animation_loop","./image_sprite","./light","./style_layer","150","stopZoomLevels","_functionInterpolationT","calculateInterpolationT","151","getDeclarationValue","_layoutSpecifications","_paintTransitions","_paintTransitionOptions","_paintDeclarations","_layoutDeclarations","_layoutFunctions","_updateLayoutValue","getLayoutInterpolationT","_applyPaintDeclaration","subclasses","./../style-spec/util/parse_color","./style_layer/circle_style_layer","./style_layer/fill_extrusion_style_layer","./style_layer/fill_style_layer","./style_layer/line_style_layer","./style_layer/symbol_style_layer","152","CircleStyleLayer","../../data/bucket/circle_bucket","../style_layer","153","FillExtrusionStyleLayer","../../data/bucket/fill_extrusion_bucket","154","FillStyleLayer","oldTransition","../../data/bucket/fill_bucket","155","LineStyleLayer","../../data/bucket/line_bucket","156","SymbolStyleLayer","../../data/bucket/symbol_bucket","157","_layerConfigs","../style-spec/group_by_layout","158","interpZoomTransitioned","fakeZoomHistory","startTime","zoomTransitioned","_calculateTargetValue","easeCubicInOut","159","../style-spec/validate_style.min","160","segment","161","checkMaxAngle","angleDelta","shift","162","163","StructType","anchorPointX","anchorPointY","164","_addLineCollisionBoxes","boxes","165","intersectionTests","ignoredGrid","reverseRotationMatrix","tempCollisionBox","edges","bbox0","bbox1","bbox2","bbox3","getPlacementScale","polygonIntersectsPolygon","166","resample","../symbol/anchor","./check_max_angle","167","GlyphAtlas","atlas","getRects","addGlyph","bitmap","@mapbox/shelf-pack","168","glyphUrl","normalizeGlyphsURL","verticalizePunctuation","Glyphs","SimpleGlyph","advance","rect","atlases","lookup","loadRange","../symbol/glyph_atlas","../util/glyphs","../util/verticalize_punctuation","169","170","SymbolQuad","positionedGlyphs","getLineGlyphs","upsideDown","getSegmentEnd","end","getMinScaleForSegment","insertSegmentGlyph","getNextVirtualSegment","getVirtualSegmentAnchor","171","PositionedGlyph","codePoint","breakLines","substring","trim","determineLineBreaks","shapeLines","determineAverageLineWidth","calculateBadness","calculatePenalty","evaluateBreak","badness","priorBreak","leastBadBreaks","whitespace","breakable","charAllowsIdeographicBreaking","charHasUprightVerticalOrientation","justifyLine","align","PositionedIcon","173","183","8203","8208","8211","8231","../util/script_detection","172","copyBitmap","shelfPack","images","allocateImage","addImage","HTMLImageElement","isView","Uint32Array","removeImage","allocate","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","toLocaleUpperCase","toLocaleLowerCase","174","DOM","handlers","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","stop","mousePos","isActive","toElement","target","parentNode","touches","preventDefault","lngLat","originalEvent","touchPos","lngLats","getCanvasContainer","interactive","../util/dom","./handler/box_zoom","./handler/dblclick_zoom","./handler/drag_pan","./handler/drag_rotate","./handler/keyboard","./handler/scroll_zoom","./handler/touch_zoom_rotate","175","Camera","moving","_bearingSnap","bearingSnap","jumpTo","panBy","panTo","easeTo","zoomIn","zoomOut","getBearing","rotateTo","resetNorth","snapToNorth","getPitch","linear","easing","ease","smoothEasing","_smoothOutEasing","_normalizeBearing","_normalizeCenter","around","pitching","_prepareEase","noMoveStart","_onEaseEnd","_ease","_fireMoveEvents","delayEndEvents","_easeToEnd","speed","curve","screenSpeed","isEasing","_abortFn","isMoving","_finishEase","_finishFn","timed","_prevEase","start","bezier","176","getDefaultPosition","compact","_map","_container","_updateAttributions","_updateEditLink","_updateData","_updateCompact","removeChild","_editLink","attribution","innerHTML","offsetWidth","../../util/dom","177","_fullscreen","_fullscreenchange","_fullscreenButton","_onClickFullscreen","_mapContainer","getContainer","_changeIcon","removeEventListener","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","toggle","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","../../util/window","178","checkGeolocationSupport","supportsGeolocation","navigator","permissions","then","geolocation","defaultGeoPositionOptions","enableHighAccuracy","timeout","className","_setupUI","_onSuccess","_finish","_onError","_timeoutId","_geolocateButton","watchPosition","_onClickGeolocate","positionOptions","_geolocationWatchID","clearWatch","getCurrentPosition","../../util/evented","179","LogoControl","_updateLogo","childNodes","_logoRequired","mapbox_logo","180","copyMouseEvent","MouseEvent","button","buttons","bubbles","cancelable","detail","view","screenX","screenY","clientX","clientY","movementX","movementY","ctrlKey","shiftKey","altKey","metaKey","_rotateCompassArrow","_compassArrow","_onContextMenu","_zoomInButton","_createButton","_zoomOutButton","_compass","_onCompassDown","_onCompassMove","_onCompassUp","disableDrag","dispatchEvent","stopPropagation","enableDrag","181","updateScale","maxWidth","clientHeight","getDistance","setScale","getRoundNum","acos","_onMove","182","BoxZoomHandler","_el","isEnabled","_enabled","_active","_onMouseDown","_onMouseMove","_onKeyDown","_onMouseUp","_startPos","_box","_fireEvent","setTransform","boxZoomBounds","keyCode","../../geo/lng_lat_bounds","DoubleClickZoomHandler","_onDblClick","184","inertiaEasing","DragPanHandler","_onDown","_ignoreEvent","_onTouchEnd","_pos","_inertia","_drainInertiaBuffer","_onUp","185","DragRotateHandler","_pitchWithRotate","pitchWithRotate","InstallTrigger","platform","186","easeOut","KeyboardHandler","187","ua","userAgent","firefox","safari","ScrollZoomHandler","_onWheel","_aroundCenter","deltaY","deltaMode","WheelEvent","DOM_DELTA_PIXEL","DOM_DELTA_LINE","wheelDeltaY","_time","_type","_lastValue","_timeout","_onTimeout","../../util/browser","188","TouchZoomRotateHandler","_onStart","disableRotation","_rotationDisabled","enableRotation","_startVec","_startScale","_startBearing","_gestureIntent","_onEnd","189","Hash","addTo","_onHashChange","_updateHash","hash","history","replaceState","190","bindHandlers","defaultOptions","attributionControl","preserveDrawingBuffer","trackResize","refreshExpiredTiles","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_trackResize","maxBounds","setMaxBounds","_setupContainer","_setupPainter","_update","_onWindowOnline","_onWindowResize","_hash","_classes","classes","setClasses","logoPosition","_onData","_onDataLoading","repaint","_controlPositions","insertBefore","firstChild","removeControl","addClass","_classOptions","removeClass","hasClass","getClasses","_containerDimensions","_resizeCanvas","getBounds","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","listener","delegates","mousemove","mouseout","_delegatedListeners","_makeQueryGeometry","getStyle","isStyleLoaded","areTilesLoaded","loadImage","_canvasContainer","_canvas","offsetHeight","_contextLost","_contextRestored","_controlContainer","_frameId","cancelFrame","_styleDirty","_sourcesDirty","_render","_repaint","loseContext","_showTileBoundaries","_showCollisionBoxes","_vertices","../geo/transform","../render/painter","../style/animation_loop","../style/style","./bind_handlers","./camera","./control/attribution_control","./control/logo_control","./hash","mapbox-gl-supported","191","smartWrap","_offset","_onMapClick","_element","_popup","getLngLat","_lngLat","setLngLat","getElement","setPopup","togglePopup","getPopup","isOpen","../util/smart_wrap","192","normalizeOffset","isPointLike","closeButton","closeOnClick","_onClickClose","_content","setText","setDOMContent","setHTML","createDocumentFragment","_createContent","_closeButton","_tip","193","mapId","callbacks","callbackID","receive","postMessage","targetMapId","sourceMapId","194","sameOrigin","protocol","host","AJAXError","XMLHttpRequest","open","setRequestHeader","onerror","onload","response","statusText","responseType","getResponseHeader","Image","revokeObjectURL","src","onloadstart","crossOrigin","./window","195","performance","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","drawImage","supportsWebp","webpImgTest","196","WebWorkify","workerURL","../../source/worker","../window","webworkify","197","198","compareAreas","quickselect","calculateSignedArea","./util","199","API_URL","REQUIRE_ACCESS_TOKEN","200","_stringToNumber","_numberToString","201","workerPool","actors","currentActor","acquire","asyncAll","release","./actor","202","testProp","docStyle","suppressClick","userSelect","documentElement","selectProp","transformProp","getBoundingClientRect","clientLeft","clientTop","changedTouches","203","_addEventListener","_removeEventListener","_listeners","_oneTimeListeners","listens","_eventedParent","_eventedParentData","204","compareMax","Cell","pointToPolygonDist","SQRT2","distToSegmentSquared","getCentroidCell","Queue","./intersection_tests","tinyqueue","205","globalWorkerPool","WorkerPool","./worker_pool","206","readFontstacks","readFontstack","readGlyph","207","polygonContainsPoint","lineIntersectsLine","pointIntersectsBufferedLine","multiPolygonContainsPoint","lineIntersectsBufferedLine","lineSegmentIntersectsLineSegment","isCounterClockwise","208","unicodeBlockLookup","Latin-1 Supplement","Hangul Jamo","Unified Canadian Aboriginal Syllabics","Unified Canadian Aboriginal Syllabics Extended","General Punctuation","Letterlike Symbols","Number Forms","Miscellaneous Technical","Control Pictures","Optical Character Recognition","Enclosed Alphanumerics","Geometric Shapes","Miscellaneous Symbols","Miscellaneous Symbols and Arrows","CJK Radicals Supplement","Kangxi Radicals","Ideographic Description Characters","CJK Symbols and Punctuation","Hiragana","Katakana","Bopomofo","Hangul Compatibility Jamo","Kanbun","Bopomofo Extended","CJK Strokes","Katakana Phonetic Extensions","Enclosed CJK Letters and Months","CJK Compatibility","CJK Unified Ideographs Extension A","Yijing Hexagram Symbols","CJK Unified Ideographs","Yi Syllables","Yi Radicals","Hangul Jamo Extended-A","Hangul Syllables","Hangul Jamo Extended-B","Private Use Area","CJK Compatibility Ideographs","Vertical Forms","CJK Compatibility Forms","Small Form Variants","Halfwidth and Fullwidth Forms","209","LRUCache","order","210","makeAPIURL","parseUrl","authority","formatUrl","help","replaceTempAccessToken","urlRe","imageExtensionRe","./browser","./config","211","isChar","allowsIdeographicBreaking","charHasNeutralVerticalOrientation","charHasRotatedVerticalOrientation","./is_char_in_unicode_block","212","213","structArrayTypeCache","sizeOf","Struct","createGetter","createSetter","StructArray","createEmplaceBack","_usedTypes","viewTypes","BYTES_PER_ELEMENT","getArrayViewName","createMemberComponentString","Int8Array","Uint8Clamped","Int16Array","Uint16Array","Int32","Uint32","Float32","Float64","_structArray","_pos1","_pos2","_pos4","_pos8","isTransferred","capacity","_refreshViews","_trim","uint8","214","215","warnOnceHistory","isClosedPolygon","@mapbox/unitbezier","216","Feature","_vectorTileFeature","_z","_x","_y","217","¢","£","¥","¦","¬","¯","–","—","‘","’","“","”","…","‧","₩","、","。","〈","〉","《","》","「","」","『","』","【","】","〔","〕","〖","〗","!","(",")",",","-",".",":",";","<",">","?","[","]","_","{","|","}","⦅","⦆","。","「","」","./script_detection","218","WebWorker","active","workers","terminate","../","./web_worker","mapDivs","querySelectorAll","_mapboxUtils2"],"mappings":"mBAIA,QAAAA,qBAAAC,UAGA,GAAAC,iBAAAD,UACA,MAAAC,kBAAAD,UAAAE,OAGA,IAAAC,QAAAF,iBAAAD,WACAI,EAAAJ,SACAK,GAAA,EACAH,WAUA,OANAI,SAAAN,UAAAO,KAAAJ,OAAAD,QAAAC,OAAAA,OAAAD,QAAAH,qBAGAI,OAAAE,GAAA,EAGAF,OAAAD,QAvBA,GAAAD,oBA4BAF,qBAAAS,EAAAF,QAGAP,oBAAAU,EAAAR,iBAGAF,oBAAAK,EAAA,SAAAM,OAA2C,MAAAA,QAG3CX,oBAAAY,EAAA,SAAAT,QAAAU,KAAAC,QACAd,oBAAAe,EAAAZ,QAAAU,OACAG,OAAAC,eAAAd,QAAAU,MACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,UAMAd,oBAAAqB,EAAA,SAAAjB,QACA,GAAAU,QAAAV,QAAAA,OAAAkB,WACA,WAA2B,MAAAlB,QAAA,SAC3B,WAAiC,MAAAA,QAEjC,OADAJ,qBAAAY,EAAAE,OAAA,IAAAA,QACAA,QAIAd,oBAAAe,EAAA,SAAAQ,OAAAC,UAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,OAAAC,WAGtDxB,oBAAA2B,EAAA,GAGA3B,oBAAAA,oBAAA4B,EAAA,sNCRe,QAASC,QAAOC,KAAqC,GAAhCC,UAAgCC,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAArB,KAAMG,OAAeH,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAN,KACtDI,aAAeN,IAAIO,QAAQC,SAC3BC,cAAgBT,IAAIO,QAAQG,UAC5BC,KAAOC,OAAO,UAAUZ,IAAIO,QAAQM,GAkBxC,IAjBY,MAARF,OACAA,MACIG,KAAQ,oBACRC,WACID,KAAQ,UACRE,UACIF,KAAQ,QACRG,aAAgBR,cAAeH,eAEnCY,YACIC,MAAS,mBACTC,KAAQ,iBACRC,IAAO,wBAKT,MAAVhB,OAAgB,CAAA,GAAAiB,4BAAA,EAAAC,mBAAA,EAAAC,mBAAApB,EAAA,KAChB,IAAA,GAAAqB,OAAAC,UAAkBrB,OAAlBsB,OAAAC,cAAAN,2BAAAG,MAAAC,UAAAG,QAAAC,MAAAR,2BAAA,EAA0B,CAAA,GAAjBS,OAAiBN,MAAA5C,MAClBmD,gBAAiB,EAAAC,gBAAAC,SAAcH,MAAMI,UAAUzB,UAC/C0B,eAAgB,EAAAH,gBAAAC,SAAcH,MAAMI,UAAU3B,QAClDG,MAAKI,SAASsB,MACVvB,KAAQ,UACRE,UACIF,KAAQ,QACRG,aAAgBe,eAAgBI,gBAEpClB,YACIC,MAASY,MAAMhD,KACfqC,KAAQ,SACRC,IAAOU,MAAMO,SAbT,MAAAC,KAAAhB,mBAAA,EAAAC,eAAAe,IAAA,QAAA,KAAAjB,2BAAAI,UAAAc,QAAAd,UAAAc,SAAA,QAAA,GAAAjB,kBAAA,KAAAC,kBAkBJ,MAAZvB,WACAQ,cAAgBR,SAASwC,OAAO/B,UAChCJ,aAAeL,SAASwC,OAAOjC,SAEnC,IAAIkC,KAAM,GAAIC,YAAAT,QAASU,KACnBC,UAAW7C,IACX8C,MAAO,oCACPC,QAAStC,cAAeH,cACxB0C,KAAM,IAoCV,IAlCgB,MAAZ/C,UACAyC,IAAIO,WAAWC,UAEnBR,IAAIS,WAAW,GAAIR,YAAAT,QAASkB,mBAC5BpD,IAAIqD,YAAYC,YAAYZ,MAC5BA,IAAIa,GAAG,OAAQ,WACXb,IAAIc,UACA3C,GAAM,SACNC,KAAQ,SACR2C,QACI3C,KAAQ,UACRH,KAAQA,MAEZ+C,QACIC,aAAc,YACdC,aAAc,UACdC,eAAgB,EAAG,QAIf,MAAZ5D,UACAyC,IAAIa,GAAG,QAAS,SAAUO,GACtB,GAAI/C,UAAW2B,IAAIqB,sBAAsBD,EAAEE,OACvCC,OAAQ,WAIRlD,UAASZ,SAETuC,IAAIwB,OAAOnB,OAAQhC,SAAS,GAAGC,SAASC,eACxC,EAAAkD,cAAAjC,SAAkBnB,SAAS,GAAGG,WAAWG,QAIjDV,KAAKI,UAAYJ,KAAKI,SAASZ,OAAS,EAAG,CAC3C,GAAIiE,QAAS,GAAIzB,YAAAT,QAASmC,aADiBC,4BAAA,EAAAC,oBAAA,EAAAC,oBAAApE,EAAA,KAE3C,IAAA,GAAAqE,QAAAC,WAAoB/D,KAAKI,SAAzBY,OAAAC,cAAA0C,4BAAAG,OAAAC,WAAA7C,QAAAC,MAAAwC,4BAAA,EAAmC,CAAA,GAA1BK,SAA0BF,OAAA5F,KAC/BuF,QAAOQ,OAAOD,QAAQ3D,SAASC,cAHQ,MAAAsB,KAAAgC,oBAAA,EAAAC,gBAAAjC,IAAA,QAAA,KAAA+B,4BAAAI,WAAAlC,QAAAkC,WAAAlC,SAAA,QAAA,GAAA+B,mBAAA,KAAAC,kBAK3C9B,IAAImC,UAAUT,QAAUU,QAAS,KAGrC,MAAOpC,4EA3Fa3C,MAvDxB,uCAAA7B,oBAAA,2CACAA,oBAAA,yCACAA,oBAAA,GAEAyE,YAAAT,QAAS6C,YAAc,gGAGvB,IAAMC,WAAY,SAACC,QACf,MAAOA,QAAOC,MAAM,KAAKxC,IAAI,SAAAyC,MAAA,GAAAC,OAAAC,SAAAF,MAAEG,MAAFF,MAAA,GAAWG,KAAXH,MAAAI,MAAA,EAAA,OAAqBF,OAAMG,cAAgBF,KAAKG,KAAK,IAAIC,gBAAeD,KAAK,MAGxGE,iBAAmB,SAAClD,IAAKmD,KAAMC,QAA4B,GAApBC,SAAoB7F,UAAAC,OAAA,OAAAC,KAAAF,UAAA,IAAAA,UAAA,GACzD8F,MAAQC,SAASC,cAAc,QACnCF,OAAMG,aAAa,KAAML,QACzBE,MAAMG,aAAa,OAAQ,SAC3BH,MAAMG,aAAa,OAAQ,UAC3BH,MAAMG,aAAa,QAASL,QACb,GAAXC,SACAC,MAAMG,aAAa,UAAW,WAElCH,MAAMI,iBAAiB,QAAS,WAC5B,GAAI3C,QAASf,IAAI2D,UAAU,SAC3B3D,KAAI4D,SAAS,0BAA4BR,OAAS,OAClDpD,IAAIa,GAAG,aAAc,WACjBb,IAAIc,UACA3C,GAAM,SACNC,KAAQ,SACR2C,QACI3C,KAAQ,UACRH,KAAQ8C,OAAO8C,OAEnB7C,QACIC,aAAc,YACdC,aAAc,UACdC,eAAgB,EAAG,SAKnC,IAAI2C,OAAQP,SAASC,cAAc,QACnCM,OAAML,aAAa,MAAOL,QAC1BU,MAAMnD,YAAY4C,SAASQ,eAAezB,UAAUc,UACpDD,KAAKxC,YAAY2C,OACjBH,KAAKxC,YAAYmD,QAGflD,YAAc,SAACZ,KACjB,GAAIgE,SAAUT,SAASC,cAAc,MAIrC,OAHAQ,SAAQC,UAAUC,IAAI,YACtBhB,iBAAiBlD,IAAKgE,QAAS,WAAW,GAC1Cd,iBAAiBlD,IAAKgE,QAAS,qBACxBA,mECjDI,SAASG,eAAcC,MAClC,GAAIrE,QAAS,gBAAgBsE,KAAKD,MAC9BE,gBAAkBvE,OAAO,GAAGyC,MAAM,KAAK,EAG3C,QAAQ1E,SAFaiC,OAAO,GAAGyC,MAAM,KAAK,GAENxE,UAAasG,wFAL7BH,wECDT,SAASI,mBAAkB5F,KAClC4E,SAASiB,cAAc,YACZ,oBAAP7F,IACA4E,SAASiB,cAAc,+BAA+BC,UAAW,EAEjElB,SAASiB,cAAc,kBAAoB7F,IAAM,MAAM8F,UAAW,0EALtDF,6CCFxB,SAAAG,GAAa,GAAA,gBAAA/I,cAAA,KAAAC,OAA2DA,OAAAD,QAAA+I,QAAmB,IAAA,kBAAAC,SAAAA,OAAAC,IAAgDD,UAAAD,OAAa,EAAW,mBAAAxG,QAAgCA,OAAS,mBAAA2G,QAAqCA,OAAS,mBAAAC,MAAmCA,KAAYC,MAAOC,SAAAN,MAAkB,WAAuC,MAAA,SAAAtD,GAAA6D,EAAApI,EAAAqI,GAA0B,QAAA9H,GAAAb,EAAA4I,GAAgB,IAAAtI,EAAAN,GAAA,CAAU,IAAA0I,EAAA1I,GAAA,CAAU,GAAA6I,GAAA,kBAAAC,UAAAA,OAA0C,KAAAF,GAAAC,EAAA,MAAAA,GAAA7I,GAAA,EAAwB,IAAAV,EAAA,MAAAA,GAAAU,GAAA,EAAoB,IAAAmI,GAAA,GAAAY,OAAA,uBAAA/I,EAAA,IAA8C,MAAAmI,GAAAa,KAAA,mBAAAb,EAAkC,GAAA5I,GAAAe,EAAAN,IAAYZ,WAAYsJ,GAAA1I,GAAA,GAAAP,KAAAF,EAAAH,QAAA,SAAAyF,GAAmC,GAAAvE,GAAAoI,EAAA1I,GAAA,GAAA6E,EAAiB,OAAAhE,GAAAP,GAAAuE,IAAgBtF,EAAAA,EAAAH,QAAAyF,EAAA6D,EAAApI,EAAAqI,GAAsB,MAAArI,GAAAN,GAAAZ,QAA8D,IAAA,GAA1CE,GAAA,kBAAAwJ,UAAAA,QAA0C9I,EAAA,EAAYA,EAAA2I,EAAAzH,OAAWlB,IAAAa,EAAA8H,EAAA3I,GAAY,OAAAa,KAAYoI,GAAA,SAAAC,QAAA7J,OAAAD,UAC5yB,SAAAsJ,EAAAC,GAAe,gBAAAvJ,cAAA,KAAAC,OAAAA,OAAAD,QAAAuJ,IAAAD,EAAAS,SAAAR,KAAuIH,KAAA,WAAiB,YAAkF,SAAAG,GAAAD,EAAAC,EAAArI,GAAkB,GAAAuE,GAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,EAAyB,OAAAD,GAAA,GAAA7D,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,GAAAN,EAAAM,EAAA,GAAAoI,EAAA,GAAA7D,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,GAAAN,EAAAM,EAAA,GAAAoI,EAAA,GAAA7D,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,GAAAN,EAAAM,EAAA,GAAAoI,EAAmK,QAAA7D,GAAA6D,EAAAC,EAAArI,GAAkB,GAAAuE,GAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,EAAgC,OAAAD,GAAA,GAAApI,EAAA,GAAAuE,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,GAAAN,EAAAM,EAAA,IAAAsI,EAAAF,EAAA,GAAApI,EAAA,GAAAuE,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,GAAAN,EAAAM,EAAA,IAAAsI,EAAAF,EAAA,GAAApI,EAAA,GAAAuE,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,IAAAN,EAAAM,EAAA,IAAAsI,EAAAF,EAAA,GAAApI,EAAA,GAAAuE,EAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,IAAAN,EAAAM,EAAA,IAAAsI,EAAAF,EAAmJ,QAAAG,KAAa,GAAAH,GAAA,GAAAU,cAAA,EAA0B,OAAAV,GAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAqC,QAAA1I,GAAA0I,EAAAC,EAAArI,GAAkB,GAAAuE,GAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAA+J,KAAAC,IAAAhJ,GAAAX,EAAA0J,KAAAE,IAAAjJ,EAA4D,OAAAoI,GAAA,GAAA7D,EAAAlF,EAAAK,EAAAV,EAAAoJ,EAAA,GAAAG,EAAAlJ,EAAAiJ,EAAAtJ,EAAAoJ,EAAA,GAAA7D,GAAAvF,EAAAU,EAAAL,EAAA+I,EAAA,GAAAG,GAAAvJ,EAAAsJ,EAAAjJ,EAAA+I,EAA+D,QAAAE,GAAAF,EAAAC,EAAArI,GAAkB,GAAAuE,GAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAAgB,EAAA,GAAAX,EAAAW,EAAA,EAA8C,OAAAoI,GAAA,GAAA7D,EAAAvF,EAAAoJ,EAAA,GAAAG,EAAAvJ,EAAAoJ,EAAA,GAAA1I,EAAAL,EAAA+I,EAAA,GAAAE,EAAAjJ,EAAA+I,EAA6C,QAAApJ,KAAa,GAAAoJ,GAAA,GAAAU,cAAA,EAA0B,OAAAV,GAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAwE,QAAA/I,GAAA+I,EAAAC,GAAgB,GAAArI,GAAA+I,KAAAC,IAAAX,GAAA9D,EAAAwE,KAAAE,IAAAZ,EAAgC,OAAAD,GAAA,GAAA7D,EAAA6D,EAAA,GAAApI,EAAAoI,EAAA,GAAA,EAAAA,EAAA,IAAApI,EAAAoI,EAAA,GAAA7D,EAAA6D,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAyE,QAAAP,KAAa,GAAAO,GAAA,GAAAU,cAAA,GAA2B,OAAAV,GAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAA+H,QAAAc,GAAAd,GAAc,MAAAA,GAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAA+H,QAAA7H,GAAA6H,EAAAC,GAAgB,GAAArI,GAAAqI,EAAA,GAAA9D,EAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAAqJ,EAAA,GAAAhJ,EAAAgJ,EAAA,GAAAR,EAAAQ,EAAA,GAAAa,EAAAb,EAAA,GAAA9H,EAAA8H,EAAA,GAAApJ,EAAAoJ,EAAA,IAAAc,EAAAd,EAAA,IAAAe,EAAAf,EAAA,IAAAjJ,EAAAiJ,EAAA,IAAAgB,EAAAhB,EAAA,IAAA9I,EAAA8I,EAAA,IAAA/H,EAAAN,EAAAhB,EAAAuF,EAAA+D,EAAAgB,EAAAtJ,EAAAX,EAAAkJ,EAAAD,EAAAiB,EAAAvJ,EAAA6H,EAAAnI,EAAA4I,EAAAkB,EAAAjF,EAAAlF,EAAAkJ,EAAAvJ,EAAAyK,EAAAlF,EAAAsD,EAAAnI,EAAAV,EAAA0K,EAAAnB,EAAAV,EAAAnI,EAAAL,EAAAsK,EAAAT,EAAA9J,EAAAmB,EAAA6I,EAAAQ,EAAAV,EAAAG,EAAApK,EAAAmK,EAAAS,EAAAX,EAAA3J,EAAA4J,EAAAC,EAAAU,EAAAvJ,EAAA8I,EAAApK,EAAAG,EAAA2K,EAAAxJ,EAAAhB,EAAA4J,EAAA/J,EAAA4K,EAAA/K,EAAAM,EAAA4J,EAAAE,EAAAY,EAAA3J,EAAA0J,EAAAV,EAAAS,EAAAR,EAAAO,EAAAN,EAAAK,EAAAJ,EAAAG,EAAAF,EAAAC,CAA4Q,OAAAM,IAAAA,EAAA,EAAAA,EAAA7B,EAAA,IAAApJ,EAAAgL,EAAA3K,EAAA0K,EAAAlC,EAAAiC,GAAAG,EAAA7B,EAAA,IAAAG,EAAAwB,EAAAxF,EAAAyF,EAAAtK,EAAAoK,GAAAG,EAAA7B,EAAA,IAAAhJ,EAAAsK,EAAAL,EAAAI,EAAAlK,EAAAiK,GAAAS,EAAA7B,EAAA,IAAAnJ,EAAAwK,EAAAlJ,EAAAmJ,EAAAP,EAAAK,GAAAS,EAAA7B,EAAA,IAAA/I,EAAAwK,EAAAvB,EAAA0B,EAAAnC,EAAA+B,GAAAK,EAAA7B,EAAA,IAAApI,EAAAgK,EAAAzB,EAAAsB,EAAAnK,EAAAkK,GAAAK,EAAA7B,EAAA,IAAAiB,EAAAE,EAAAH,EAAAM,EAAAnK,EAAA+J,GAAAW,EAAA7B,EAAA,IAAAc,EAAAQ,EAAAzK,EAAAsK,EAAAJ,EAAAG,GAAAW,EAAA7B,EAAA,IAAAE,EAAAyB,EAAA/K,EAAA6K,EAAAhC,EAAA8B,GAAAM,EAAA7B,EAAA,IAAA7D,EAAAsF,EAAA7J,EAAA+J,EAAArK,EAAAiK,GAAAM,EAAA7B,EAAA,KAAAgB,EAAAK,EAAArK,EAAAmK,EAAAhK,EAAAe,GAAA2J,EAAA7B,EAAA,KAAA7H,EAAAgJ,EAAAL,EAAAO,EAAAN,EAAA7I,GAAA2J,EAAA7B,EAAA,KAAApJ,EAAA4K,EAAAtB,EAAAwB,EAAAzK,EAAAsK,GAAAM,EAAA7B,EAAA,KAAApI,EAAA8J,EAAAvF,EAAAqF,EAAArB,EAAAoB,GAAAM,EAAA7B,EAAA,KAAAhJ,EAAAkK,EAAAF,EAAAI,EAAAH,EAAA/I,GAAA2J,EAAA7B,EAAA,KAAAc,EAAAM,EAAAjJ,EAAA+I,EAAArK,EAAAqB,GAAA2J,EAAA7B,GAAA,KAA8W,QAAAnJ,GAAAmJ,EAAAC,EAAArI,GAAkB,GAAAuE,GAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAAqJ,EAAA,GAAAhJ,EAAAgJ,EAAA,GAAAR,EAAAQ,EAAA,GAAAa,EAAAb,EAAA,GAAA9H,EAAA8H,EAAA,GAAApJ,EAAAoJ,EAAA,GAAAc,EAAAd,EAAA,IAAAe,EAAAf,EAAA,IAAAjJ,EAAAiJ,EAAA,IAAAgB,EAAAhB,EAAA,IAAA9I,EAAA8I,EAAA,IAAA/H,EAAA+H,EAAA,IAAAiB,EAAAtJ,EAAA,GAAAuJ,EAAAvJ,EAAA,GAAAwJ,EAAAxJ,EAAA,GAAAyJ,EAAAzJ,EAAA,EAAsJ,OAAAoI,GAAA,GAAAkB,EAAA/E,EAAAgF,EAAAvK,EAAAwK,EAAAjJ,EAAAkJ,EAAArK,EAAAgJ,EAAA,GAAAkB,EAAAf,EAAAgB,EAAAlK,EAAAmK,EAAAvK,EAAAwK,EAAAJ,EAAAjB,EAAA,GAAAkB,EAAA5J,EAAA6J,EAAA1B,EAAA2B,EAAAL,EAAAM,EAAAlK,EAAA6I,EAAA,GAAAkB,EAAAhB,EAAAiB,EAAAL,EAAAM,EAAAJ,EAAAK,EAAAnJ,EAAAgJ,EAAAtJ,EAAA,GAAAuJ,EAAAvJ,EAAA,GAAAwJ,EAAAxJ,EAAA,GAAAyJ,EAAAzJ,EAAA,GAAAoI,EAAA,GAAAkB,EAAA/E,EAAAgF,EAAAvK,EAAAwK,EAAAjJ,EAAAkJ,EAAArK,EAAAgJ,EAAA,GAAAkB,EAAAf,EAAAgB,EAAAlK,EAAAmK,EAAAvK,EAAAwK,EAAAJ,EAAAjB,EAAA,GAAAkB,EAAA5J,EAAA6J,EAAA1B,EAAA2B,EAAAL,EAAAM,EAAAlK,EAAA6I,EAAA,GAAAkB,EAAAhB,EAAAiB,EAAAL,EAAAM,EAAAJ,EAAAK,EAAAnJ,EAAAgJ,EAAAtJ,EAAA,GAAAuJ,EAAAvJ,EAAA,GAAAwJ,EAAAxJ,EAAA,IAAAyJ,EAAAzJ,EAAA,IAAAoI,EAAA,GAAAkB,EAAA/E,EAAAgF,EAAAvK,EAAAwK,EAAAjJ,EAAAkJ,EAAArK,EAAAgJ,EAAA,GAAAkB,EAAAf,EAAAgB,EAAAlK,EAAAmK,EAAAvK,EAAAwK,EAAAJ,EAAAjB,EAAA,IAAAkB,EAAA5J,EAAA6J,EAAA1B,EAAA2B,EAAAL,EAAAM,EAAAlK,EAAA6I,EAAA,IAAAkB,EAAAhB,EAAAiB,EAAAL,EAAAM,EAAAJ,EAAAK,EAAAnJ,EAAAgJ,EAAAtJ,EAAA,IAAAuJ,EAAAvJ,EAAA,IAAAwJ,EAAAxJ,EAAA,IAAAyJ,EAAAzJ,EAAA,IAAAoI,EAAA,IAAAkB,EAAA/E,EAAAgF,EAAAvK,EAAAwK,EAAAjJ,EAAAkJ,EAAArK,EAAAgJ,EAAA,IAAAkB,EAAAf,EAAAgB,EAAAlK,EAAAmK,EAAAvK,EAAAwK,EAAAJ,EAAAjB,EAAA,IAAAkB,EAAA5J,EAAA6J,EAAA1B,EAAA2B,EAAAL,EAAAM,EAAAlK,EAAA6I,EAAA,IAAAkB,EAAAhB,EAAAiB,EAAAL,EAAAM,EAAAJ,EAAAK,EAAAnJ,EAAA8H,EAAyb,QAAAe,GAAAf,EAAAC,EAAArI,GAAkB,GAAAuE,GAAAgE,EAAA7I,EAAA4I,EAAAtJ,EAAAK,EAAAwI,EAAAqB,EAAA3I,EAAAtB,EAAAkK,EAAAC,EAAAhK,EAAAY,EAAA,GAAAqJ,EAAArJ,EAAA,GAAAT,EAAAS,EAAA,EAAiD,OAAAqI,KAAAD,GAAAA,EAAA,IAAAC,EAAA,GAAAjJ,EAAAiJ,EAAA,GAAAgB,EAAAhB,EAAA,GAAA9I,EAAA8I,EAAA,IAAAD,EAAA,IAAAC,EAAA,GAAAjJ,EAAAiJ,EAAA,GAAAgB,EAAAhB,EAAA,GAAA9I,EAAA8I,EAAA,IAAAD,EAAA,IAAAC,EAAA,GAAAjJ,EAAAiJ,EAAA,GAAAgB,EAAAhB,EAAA,IAAA9I,EAAA8I,EAAA,IAAAD,EAAA,IAAAC,EAAA,GAAAjJ,EAAAiJ,EAAA,GAAAgB,EAAAhB,EAAA,IAAA9I,EAAA8I,EAAA,MAAA9D,EAAA8D,EAAA,GAAAE,EAAAF,EAAA,GAAA3I,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAAqJ,EAAA,GAAAhJ,EAAAgJ,EAAA,GAAAR,EAAAQ,EAAA,GAAAa,EAAAb,EAAA,GAAA9H,EAAA8H,EAAA,GAAApJ,EAAAoJ,EAAA,GAAAc,EAAAd,EAAA,IAAAe,EAAAf,EAAA,IAAAD,EAAA,GAAA7D,EAAA6D,EAAA,GAAAG,EAAAH,EAAA,GAAA1I,EAAA0I,EAAA,GAAAE,EAAAF,EAAA,GAAApJ,EAAAoJ,EAAA,GAAA/I,EAAA+I,EAAA,GAAAP,EAAAO,EAAA,GAAAc,EAAAd,EAAA,GAAA7H,EAAA6H,EAAA,GAAAnJ,EAAAmJ,EAAA,IAAAe,EAAAf,EAAA,IAAAgB,EAAAhB,EAAA,IAAA7D,EAAAnF,EAAAJ,EAAAqK,EAAA9I,EAAAhB,EAAA8I,EAAA,IAAAD,EAAA,IAAAG,EAAAnJ,EAAAC,EAAAgK,EAAApK,EAAAM,EAAA8I,EAAA,IAAAD,EAAA,IAAA1I,EAAAN,EAAAyI,EAAAwB,EAAAF,EAAA5J,EAAA8I,EAAA,IAAAD,EAAA,IAAAE,EAAAlJ,EAAA8J,EAAAG,EAAAD,EAAA7J,EAAA8I,EAAA,KAAAD,EAAqa,QAAAgB,GAAAhB,EAAAC,EAAArI,GAAkB,GAAAuE,GAAAvE,EAAA,GAAAuI,EAAAvI,EAAA,GAAAN,EAAAM,EAAA,EAAyB,OAAAoI,GAAA,GAAAC,EAAA,GAAA9D,EAAA6D,EAAA,GAAAC,EAAA,GAAA9D,EAAA6D,EAAA,GAAAC,EAAA,GAAA9D,EAAA6D,EAAA,GAAAC,EAAA,GAAA9D,EAAA6D,EAAA,GAAAC,EAAA,GAAAE,EAAAH,EAAA,GAAAC,EAAA,GAAAE,EAAAH,EAAA,GAAAC,EAAA,GAAAE,EAAAH,EAAA,GAAAC,EAAA,GAAAE,EAAAH,EAAA,GAAAC,EAAA,GAAA3I,EAAA0I,EAAA,GAAAC,EAAA,GAAA3I,EAAA0I,EAAA,IAAAC,EAAA,IAAA3I,EAAA0I,EAAA,IAAAC,EAAA,IAAA3I,EAAA0I,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAA6M,QAAAhJ,GAAAgJ,EAAAC,EAAArI,GAAkB,GAAAuE,GAAAwE,KAAAC,IAAAhJ,GAAAuI,EAAAQ,KAAAE,IAAAjJ,GAAAN,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAAqJ,EAAA,GAAAhJ,EAAAgJ,EAAA,GAAAR,EAAAQ,EAAA,GAAAa,EAAAb,EAAA,GAAA9H,EAAA8H,EAAA,IAAApJ,EAAAoJ,EAAA,GAA0F,OAAAA,KAAAD,IAAAA,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,KAAAD,EAAA,GAAA1I,EAAA6I,EAAAV,EAAAtD,EAAA6D,EAAA,GAAAE,EAAAC,EAAAW,EAAA3E,EAAA6D,EAAA,GAAApJ,EAAAuJ,EAAAhI,EAAAgE,EAAA6D,EAAA,GAAA/I,EAAAkJ,EAAAtJ,EAAAsF,EAAA6D,EAAA,GAAAP,EAAAU,EAAA7I,EAAA6E,EAAA6D,EAAA,GAAAc,EAAAX,EAAAD,EAAA/D,EAAA6D,EAAA,IAAA7H,EAAAgI,EAAAvJ,EAAAuF,EAAA6D,EAAA,IAAAnJ,EAAAsJ,EAAAlJ,EAAAkF,EAAA6D,EAAoN,QAAAiB,GAAAjB,EAAAC,EAAArI,GAAkB,GAAAuE,GAAAwE,KAAAC,IAAAhJ,GAAAuI,EAAAQ,KAAAE,IAAAjJ,GAAAN,EAAA2I,EAAA,GAAAC,EAAAD,EAAA,GAAArJ,EAAAqJ,EAAA,GAAAhJ,EAAAgJ,EAAA,GAAAR,EAAAQ,EAAA,GAAAa,EAAAb,EAAA,GAAA9H,EAAA8H,EAAA,GAAApJ,EAAAoJ,EAAA,EAAwF,OAAAA,KAAAD,IAAAA,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,IAAAD,EAAA,IAAAC,EAAA,KAAAD,EAAA,GAAA1I,EAAA6I,EAAAV,EAAAtD,EAAA6D,EAAA,GAAAE,EAAAC,EAAAW,EAAA3E,EAAA6D,EAAA,GAAApJ,EAAAuJ,EAAAhI,EAAAgE,EAAA6D,EAAA,GAAA/I,EAAAkJ,EAAAtJ,EAAAsF,EAAA6D,EAAA,GAAAP,EAAAU,EAAA7I,EAAA6E,EAAA6D,EAAA,GAAAc,EAAAX,EAAAD,EAAA/D,EAAA6D,EAAA,GAAA7H,EAAAgI,EAAAvJ,EAAAuF,EAAA6D,EAAA,GAAAnJ,EAAAsJ,EAAAlJ,EAAAkF,EAAA6D,EAAsN,QAAA7I,GAAA6I,EAAAC,EAAArI,EAAAuE,EAAAgE,GAAsB,GAAA7I,GAAA,EAAAqJ,KAAAmB,IAAA7B,EAAA,GAAAC,EAAA,GAAA/D,EAAAgE,EAAgC,OAAAH,GAAA,GAAA1I,EAAAM,EAAAoI,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA1I,EAAA0I,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,KAAAG,EAAAhE,GAAA+D,EAAAF,EAAA,KAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAA,EAAA,IAAA,EAAAG,EAAAhE,EAAA+D,EAAAF,EAAA,IAAA,EAAAA,EAA8I,QAAA9H,GAAA8H,EAAAC,EAAArI,EAAAuE,EAAAgE,EAAA7I,EAAA4I,GAA0B,GAAAtJ,GAAA,GAAAqJ,EAAArI,GAAAX,EAAA,GAAAkF,EAAAgE,GAAAV,EAAA,GAAAnI,EAAA4I,EAAkC,OAAAF,GAAA,IAAA,EAAApJ,EAAAoJ,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,IAAA,EAAA/I,EAAA+I,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,IAAA,EAAAP,EAAAO,EAAA,IAAA,EAAAA,EAAA,KAAAC,EAAArI,GAAAhB,EAAAoJ,EAAA,KAAAG,EAAAhE,GAAAlF,EAAA+I,EAAA,KAAAE,EAAA5I,GAAAmI,EAAAO,EAAA,IAAA,EAAAA,EAAsY,MAA3gJ,YAAa,GAAAA,GAAA,GAAAU,cAAA,EAA0B,OAAAV,GAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,KAAgK,WAAa,GAAAA,GAAA,GAAAU,cAAA,EAA0B,OAAAV,GAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,EAAA,GAAA,EAAAA,MAAgkI+B,MAAMC,cAAA/B,GAAgBgC,MAAOC,cAAA/F,GAAgBgG,MAAOC,OAAAjC,EAAAkC,OAAA/K,EAAAgL,MAAApC,GAA0BqC,MAAOH,OAAAxL,EAAA4L,aAAAvL,GAAwBwL,MAAOL,OAAA3C,EAAAiD,SAAA5B,EAAA6B,UAAA5B,EAAAuB,MAAAtB,EAAA4B,SAAA/L,EAAAgM,YAAA1L,EAAA2L,QAAA9L,EAAA+L,QAAA9B,EAAA+B,OAAA7K,EAAA8K,MAAA/K,WACllJgL,GAAA,SAAA1C,QAAA7J,OAAAD,UACJ,SAAAsJ,EAAA7D,GAAe,gBAAAzF,cAAA,KAAAC,OAAAA,OAAAD,QAAAyF,IAAA6D,EAAAmD,UAAAhH,KAAwI2D,KAAA,WAAiB,QAAAE,GAAAA,EAAA7D,EAAAvF,GAAkBA,EAAAA,MAAOkJ,KAAAoB,EAAAlB,GAAA,GAAAF,KAAAkB,EAAA7E,GAAA,GAAA2D,KAAAsD,aAAAxM,EAAAwM,WAAAtD,KAAAuD,WAAAvD,KAAAwD,YAAAxD,KAAAyD,SAAwGzD,KAAA0D,QAAa1D,KAAA2D,MAAA,EAAc,QAAAtH,GAAA6D,EAAA7D,EAAAvF,GAAkBkJ,KAAAuB,EAAA,EAAAvB,KAAAmB,EAAAjB,EAAAF,KAAAoB,EAAApB,KAAA4D,KAAAvH,EAAA2D,KAAAkB,EAAApK,EAA8C,QAAAA,GAAAoJ,EAAA7D,EAAAvF,EAAAuB,EAAA6I,EAAApJ,EAAAqI,GAA0BH,KAAA5G,GAAA8G,EAAAF,KAAAuB,EAAAlF,EAAA2D,KAAAmB,EAAArK,EAAAkJ,KAAAoB,EAAA/I,EAAA2H,KAAAkB,EAAAA,EAAAlB,KAAA6D,KAAA/L,GAAAO,EAAA2H,KAAA8D,KAAA3D,GAAAe,EAAAlB,KAAA+D,SAAA,EAA4F,MAAA7D,GAAAhI,UAAA8L,KAAA,SAAA9D,EAAA7D,GAAsC6D,KAAA+D,OAAA/D,GAAA7D,EAAAA,KAAuB,KAAA,GAAAvF,GAAAuB,EAAA6I,EAAApJ,EAAAqI,KAAAR,EAAA,EAAyBA,EAAAO,EAAAxH,OAAWiH,IAAA,GAAA7I,EAAAoJ,EAAAP,GAAAyB,GAAAlB,EAAAP,GAAAuE,MAAA7L,EAAA6H,EAAAP,GAAAuB,GAAAhB,EAAAP,GAAAwE,OAAAjD,EAAAhB,EAAAP,GAAAvG,GAAAtC,GAAAuB,EAAA,CAAkE,KAAAP,EAAAkI,KAAAoE,QAAAtN,EAAAuB,EAAA6I,IAAA,QAAqC7E,GAAAgI,UAAAnE,EAAAP,GAAA4B,EAAAzJ,EAAAyJ,EAAArB,EAAAP,GAAAwB,EAAArJ,EAAAqJ,EAAAjB,EAAAP,GAAAvG,GAAAtB,EAAAsB,IAAA+G,EAAAvF,KAAA9C,GAA0D,GAAAkI,KAAAuD,QAAA7K,OAAA,EAAA,CAA0B,IAAA,GAAAlB,GAAA,EAAA6I,EAAA,EAAAD,EAAA,EAAoBA,EAAAJ,KAAAuD,QAAA7K,OAAsB0H,IAAA,CAAK,GAAArJ,GAAAiJ,KAAAuD,QAAAnD,EAAsBC,IAAAtJ,EAAAmK,EAAA1J,EAAAqJ,KAAAyD,IAAAvN,EAAAqK,EAAArK,EAAA6M,KAAApM,GAAgCwI,KAAAuE,OAAA/M,EAAA6I,GAAiB,MAAAF,IAASD,EAAAhI,UAAAkM,QAAA,SAAAlE,EAAApJ,EAAAuB,GAAqC,GAAA6I,GAAApJ,EAAAqI,EAAAR,EAAAnI,GAAegN,SAAA,EAAAC,OAAA,EAAAC,MAAA,EAAA,GAA8BrE,EAAA,CAAK,IAAA,gBAAAhI,IAAA,gBAAAA,GAAA,CAA2C,GAAA6I,EAAAlB,KAAA2E,OAAAtM,GAAA,MAAA2H,MAAA4E,IAAA1D,GAAAA,CAAyC,iBAAA7I,KAAA2H,KAAA2D,MAAA9C,KAAAyD,IAAAjM,EAAA2H,KAAA2D,YAAwDtL,KAAA2H,KAAA2D,KAAoB,KAAAhE,EAAA,EAAQA,EAAAK,KAAAwD,SAAA9K,OAAuBiH,IAAA,CAAK,GAAAuB,EAAAlB,KAAAwD,SAAA7D,GAAA7I,IAAAoK,EAAA4C,MAAA5D,IAAAgB,EAAA2C,KAAA,MAAA7D,MAAA6E,aAAAlF,EAAAO,EAAApJ,EAAAuB,EAA+EvB,GAAAoK,EAAA4C,MAAA5D,EAAAgB,EAAA2C,MAAA/M,GAAAoK,EAAA4C,MAAA5D,GAAAgB,EAAA2C,OAAA1D,EAAAe,EAAA2C,KAAA3C,EAAA4C,KAAA5D,EAAApJ,GAAAU,EAAAkN,QAAAlN,EAAAkN,MAAAvE,EAAA3I,EAAAgN,QAAA7E,GAAmG,IAAAA,EAAA,EAAQA,EAAAK,KAAAuD,QAAA7K,OAAsBiH,IAAA,GAAA7H,EAAAkI,KAAAuD,QAAA5D,GAAAU,GAAAvI,EAAAoJ,IAAAhB,EAAApI,EAAA8L,MAAA,CAA6C,GAAA9M,IAAAgB,EAAAoJ,EAAA,MAAAlB,MAAA8E,WAAAnF,EAAAO,EAAApJ,EAAAuB,EAA2CvB,GAAAgB,EAAAoJ,GAAApK,EAAAgB,EAAAoJ,IAAAf,GAAArI,EAAAoJ,EAAApK,GAAAoJ,GAAA1I,EAAAkN,QAAAlN,EAAAgN,SAAA,EAAAhN,EAAAkN,MAAAvE,EAAA3I,EAAAiN,MAAA9E,GAA0E,IAAA,IAAAnI,EAAAgN,QAAA,MAAAxE,MAAA6E,aAAArN,EAAAgN,QAAAtE,EAAApJ,EAAAuB,EAA4D,KAAA,IAAAb,EAAAiN,MAAA,MAAAzE,MAAA8E,WAAAtN,EAAAiN,MAAAvE,EAAApJ,EAAAuB,EAAsD,IAAAvB,GAAAkJ,KAAAkB,EAAAb,GAAAH,GAAAF,KAAAoB,EAAA,MAAAtJ,GAAA,GAAAuE,GAAAgE,EAAAL,KAAAoB,EAAAtK,GAAAkJ,KAAA8E,WAAA9E,KAAAuD,QAAA3I,KAAA9C,GAAA,EAAAoI,EAAApJ,EAAAuB,EAAmG,IAAA2H,KAAAsD,WAAA,CAAoB,GAAAlD,GAAArJ,EAAAI,EAAAiB,CAAY,OAAAgI,GAAArJ,EAAAiJ,KAAAkB,IAAA/J,EAAAiB,EAAA4H,KAAAoB,IAAAhB,GAAAF,EAAA/I,KAAAiB,EAAA,EAAAyI,KAAAyD,IAAApE,EAAA/I,KAAAiJ,EAAAjJ,GAAAL,EAAAsJ,KAAArJ,EAAA,EAAA8J,KAAAyD,IAAAxN,EAAAsJ,IAAAJ,KAAAuE,OAAAnM,EAAArB,GAAAiJ,KAAAoE,QAAAlE,EAAApJ,EAAAuB,GAAmI,MAAA,OAAY6H,EAAAhI,UAAA2M,aAAA,SAAA3E,EAAA7D,EAAAvF,EAAAuB,GAA4C,GAAA6I,GAAAlB,KAAAwD,SAAAuB,OAAA7E,EAAA,GAAA,EAAmC,OAAAgB,GAAA9H,GAAAf,EAAA6I,EAAAE,EAAA/E,EAAA6E,EAAAA,EAAApK,EAAAoK,EAAA6C,SAAA,EAAA/D,KAAA0D,KAAArL,GAAA6I,EAAAlB,KAAA4E,IAAA1D,GAAAA,GAAoEhB,EAAAhI,UAAA4M,WAAA,SAAA5E,EAAA7D,EAAAvF,EAAAuB,GAA0C,GAAAP,GAAAkI,KAAAuD,QAAArD,GAAA8E,MAAA3I,EAAAvF,EAAAuB,EAAuC,OAAA2H,MAAA0D,KAAArL,GAAAP,EAAAkI,KAAA4E,IAAA9M,GAAAA,GAAoCoI,EAAAhI,UAAAyM,OAAA,SAAAzE,GAAgC,MAAAF,MAAA0D,KAAAxD,IAAoBA,EAAAhI,UAAA0M,IAAA,SAAA1E,GAA6B,GAAA,KAAAA,EAAA6D,SAAA,CAAqB,GAAA1H,GAAA6D,EAAAgB,CAAUlB,MAAAyD,MAAApH,GAAA,GAAA,EAAA2D,KAAAyD,MAAApH,IAAkC,MAAA6D,GAAA6D,UAAkB7D,EAAAhI,UAAA+M,MAAA,SAAA/E,GAA+B,MAAA,KAAAA,EAAA6D,SAAA,GAAA,KAAA7D,EAAA6D,WAAA/D,KAAAyD,MAAAvD,EAAAgB,WAAAlB,MAAA0D,KAAAxD,EAAA9G,IAAA4G,KAAAwD,SAAA5I,KAAAsF,IAAAA,EAAA6D,WAAwH7D,EAAAhI,UAAAgN,MAAA,WAA8BlF,KAAAuD,WAAAvD,KAAAwD,YAAAxD,KAAAyD,SAA8CzD,KAAA0D,QAAa1D,KAAA2D,MAAA,GAAczD,EAAAhI,UAAAqM,OAAA,SAAArE,EAAA7D,GAAkC2D,KAAAoB,EAAAlB,EAAAF,KAAAkB,EAAA7E,CAAkB,KAAA,GAAAvF,GAAA,EAAYA,EAAAkJ,KAAAuD,QAAA7K,OAAsB5B,IAAAkJ,KAAAuD,QAAAzM,GAAAyN,OAAArE,EAA8B,QAAA,GAAS7D,EAAAnE,UAAA8M,MAAA,SAAA9E,EAAA7D,EAAAhE,GAAmC,GAAA6H,EAAAF,KAAA4D,MAAAvH,EAAA2D,KAAAkB,EAAA,MAAA,KAAqC,IAAAA,GAAAlB,KAAAuB,CAAa,OAAAvB,MAAAuB,GAAArB,EAAAF,KAAA4D,MAAA1D,EAAA,GAAApJ,GAAAuB,EAAA6I,EAAAlB,KAAAmB,EAAAjB,EAAA7D,EAAA6D,EAAAF,KAAAkB,IAA6D7E,EAAAnE,UAAAqM,OAAA,SAAArE,GAAgC,MAAAF,MAAA4D,MAAA1D,EAAAF,KAAAoB,EAAApB,KAAAoB,EAAAlB,GAAA,GAAuCA,SACl6FiF,GAAA,SAAAzE,QAAA7J,OAAAD,SACJ,QAAAwO,YAAAlF,EAAApJ,EAAAuF,EAAA8D,GAA6BH,KAAAqF,GAAA,EAAAnF,EAAAF,KAAAsF,GAAA,GAAAjJ,EAAA6D,GAAAF,KAAAqF,GAAArF,KAAAuF,GAAA,EAAAvF,KAAAqF,GAAArF,KAAAsF,GAAAtF,KAAAwF,GAAA,EAAA1O,EAAAkJ,KAAAyF,GAAA,GAAAtF,EAAArJ,GAAAkJ,KAAAwF,GAAAxF,KAAA0F,GAAA,EAAA1F,KAAAwF,GAAAxF,KAAAyF,GAAAzF,KAAA2F,IAAAzF,EAAAF,KAAA4F,IAAAzF,EAAAH,KAAA6F,IAAAxJ,EAAA2D,KAAA8F,IAAA3F,EAAwKtJ,OAAAD,QAAAwO,WAAAA,WAAAlN,UAAA6N,aAAA,SAAA7F,GAAwE,QAAAF,KAAAuF,GAAArF,EAAAF,KAAAsF,IAAApF,EAAAF,KAAAqF,IAAAnF,GAAwCkF,WAAAlN,UAAA8N,aAAA,SAAA9F,GAA+C,QAAAF,KAAA0F,GAAAxF,EAAAF,KAAAyF,IAAAvF,EAAAF,KAAAwF,IAAAtF,GAAwCkF,WAAAlN,UAAA+N,uBAAA,SAAA/F,GAAyD,OAAA,EAAAF,KAAAuF,GAAArF,EAAA,EAAAF,KAAAsF,IAAApF,EAAAF,KAAAqF,IAAwCD,WAAAlN,UAAAgO,YAAA,SAAAhG,EAAApJ,OAAgD,KAAAA,IAAAA,EAAA,KAAgC,IAAAuF,GAAA8D,EAAA9H,EAAA6I,EAAApJ,CAAc,KAAAO,EAAA6H,EAAApI,EAAA,EAAYA,EAAA,EAAIA,IAAA,CAAK,GAAAoJ,EAAAlB,KAAA+F,aAAA1N,GAAA6H,EAAAW,KAAAsF,IAAAjF,GAAApK,EAAA,MAAAuB,EAAmD,IAAA+H,GAAAJ,KAAAiG,uBAAA5N,EAAqC,IAAAwI,KAAAsF,IAAA/F,GAAA,KAAA,KAA0B/H,IAAA6I,EAAAd,EAAO,GAAA/D,EAAA,EAAA8D,EAAA,GAAA9H,EAAA6H,GAAA7D,EAAA,MAAAA,EAA4B,IAAAhE,EAAA8H,EAAA,MAAAA,EAAgB,MAAK9D,EAAA8D,GAAI,CAAE,GAAAe,EAAAlB,KAAA+F,aAAA1N,GAAAwI,KAAAsF,IAAAjF,EAAAhB,GAAApJ,EAAA,MAAAuB,EAAmD6H,GAAAgB,EAAA7E,EAAAhE,EAAA8H,EAAA9H,EAAAA,EAAA,IAAA8H,EAAA9D,GAAAA,EAAyB,MAAAhE,IAAS+M,WAAAlN,UAAAkO,MAAA,SAAAlG,EAAApJ,GAA0C,MAAAkJ,MAAAgG,aAAAhG,KAAAkG,YAAAhG,EAAApJ,UAC34BuP,GAAA,SAAA3F,QAAA7J,OAAAD,UACJ,SAAAyF,EAAA6D,GAAeA,EAAA,gBAAAtJ,cAAA,KAAAC,OAAAD,QAAAyF,EAAAiK,OAAAjK,EAAAiK,aAAqJtG,KAAA,SAAA3D,GAAkB,QAAA6D,GAAA7D,EAAA6D,EAAAC,EAAArI,EAAAhB,EAAAuB,GAAoS,MAA5QA,GAAAA,MAAQgE,EAAA,KAAA,QAAA7E,EAAA2I,EAAArI,EAAAhB,GAAA,WAAAuB,EAAAkO,QAAA,aAAA,YAAAlO,EAAAmO,SAAA,OAAA,YAAAnO,EAAAoO,SAAA,SAAA,YAAApO,EAAAqO,SAAA,UAAA,QAAArO,EAAAsO,KAAA,aAAA,UAAAtO,EAAA6L,OAAA,KAAA,WAAA7L,EAAA8L,QAAA,KAAA,UAAAjE,GAAAjC,KAAA,KAA6Q,QAAAzG,GAAA6E,EAAA6D,EAAA1I,GAAsC,GAAAM,GAAAqI,EAAA,IAAA9D,EAAA,KAApB6D,EAAAW,KAAA+F,IAAA,EAAApP,GAAA0I,EAAA,GAAoB1I,GAAAV,EAAAqJ,EAAA,KAAA9D,EAAA,GAAA,KAAA6D,EAAA,GAAA1I,EAAkD,OAAAM,GAAA,GAAA,IAAAA,EAAA,GAAA,IAAAhB,EAAA,GAAA,IAAAA,EAAA,GAAuC,QAAAqJ,GAAA9D,EAAA6D,EAAA1I,GAAkB,GAAA2I,GAAA,EAAAU,KAAAgG,GAAA,QAAA,IAAAhG,KAAA+F,IAAA,EAAApP,EAA8F,QAA9F6E,EAAA8D,EAAA,EAAAU,KAAAgG,GAAA,QAAA,EAAA3G,EAAAC,EAAA,EAAAU,KAAAgG,GAAA,QAAA,GAA0GxK,EAAAyK,OAAA5G,EAAA7D,EAAA0K,YAAAvP,EAAA6E,EAAA2K,cAAA7G,EAAA1I,OAAAC,eAAA2E,EAAA,cAAmFjF,OAAA,WAC7yB6P,GAAA,SAAAvG,QAAA7J,OAAAD,SACJ,YAAa,SAAAsQ,QAAA7K,EAAAvE,EAAAqI,GAAuBA,EAAAA,GAAA,CAAO,IAAAD,GAAApI,GAAAA,EAAAY,OAAA5B,EAAAoJ,EAAApI,EAAA,GAAAqI,EAAA9D,EAAA3D,OAAA6I,EAAA4F,WAAA9K,EAAA,EAAAvF,EAAAqJ,GAAA,GAAAE,IAAoE,KAAAkB,EAAA,MAAAlB,EAAe,IAAA7I,GAAAT,EAAAqJ,EAAA/H,EAAA2I,EAAArB,EAAAwB,CAAkB,IAAAjB,IAAAqB,EAAA6F,eAAA/K,EAAAvE,EAAAyJ,EAAApB,IAAA9D,EAAA3D,OAAA,GAAAyH,EAAA,CAAiD3I,EAAA4I,EAAA/D,EAAA,GAAAtF,EAAAsB,EAAAgE,EAAA,EAAkB,KAAA,GAAAhF,GAAA8I,EAAY9I,EAAAP,EAAIO,GAAA8I,EAAAa,EAAA3E,EAAAhF,GAAAsI,EAAAtD,EAAAhF,EAAA,GAAA2J,EAAAxJ,IAAAA,EAAAwJ,GAAArB,EAAA5I,IAAAA,EAAA4I,GAAAqB,EAAAZ,IAAAA,EAAAY,GAAArB,EAAAtH,IAAAA,EAAAsH,EAAiEwB,GAAAN,KAAAyD,IAAAlE,EAAA5I,EAAAa,EAAAtB,GAAoB,MAAAsQ,cAAA9F,EAAAlB,EAAAF,EAAA3I,EAAAT,EAAAoK,GAAAd,EAAmC,QAAA8G,YAAA9K,EAAAvE,EAAAqI,EAAAD,EAAApJ,GAA+B,GAAAyK,GAAAlB,CAAQ,IAAAvJ,IAAAwQ,WAAAjL,EAAAvE,EAAAqI,EAAAD,GAAA,EAAA,IAAAqB,EAAAzJ,EAAqCyJ,EAAApB,EAAIoB,GAAArB,EAAAG,EAAAkH,WAAAhG,EAAAlF,EAAAkF,GAAAlF,EAAAkF,EAAA,GAAAlB,OAAmC,KAAAkB,EAAApB,EAAAD,EAAeqB,GAAAzJ,EAAKyJ,GAAArB,EAAAG,EAAAkH,WAAAhG,EAAAlF,EAAAkF,GAAAlF,EAAAkF,EAAA,GAAAlB,EAAmC,OAAAA,IAAAmH,OAAAnH,EAAAA,EAAAjG,QAAAqN,WAAApH,GAAAA,EAAAA,EAAAjG,MAAAiG,EAAuD,QAAAqH,cAAArL,EAAAvE,GAA2B,IAAAuE,EAAA,MAAAA,EAAevE,KAAAA,EAAAuE,EAAS,IAAA8D,GAAAD,EAAA7D,CAAU,IAAA,GAAA8D,GAAA,EAAAD,EAAAyH,UAAAH,OAAAtH,EAAAA,EAAA9F,OAAA,IAAAwN,KAAA1H,EAAA2H,KAAA3H,EAAAA,EAAA9F,MAAA8F,EAAAA,EAAA9F,SAA4E,CAAK,GAAAqN,WAAAvH,IAAAA,EAAApI,EAAAoI,EAAA2H,QAAA3H,EAAA9F,KAAA,MAAA,KAAmD+F,IAAA,SAAKA,GAAAD,IAAApI,EAAgB,OAAAA,GAAS,QAAAuP,cAAAhL,EAAAvE,EAAAqI,EAAAD,EAAApJ,EAAAyK,EAAAlB,GAAqC,GAAAhE,EAAA,EAAMgE,GAAAkB,GAAAuG,WAAAzL,EAAA6D,EAAApJ,EAAAyK,EAA2B,KAAA,GAAA/J,GAAAT,EAAAqJ,EAAA/D,EAAgBA,EAAAwL,OAAAxL,EAAAjC,MAAgB,GAAA5C,EAAA6E,EAAAwL,KAAA9Q,EAAAsF,EAAAjC,KAAAmH,EAAAwG,YAAA1L,EAAA6D,EAAApJ,EAAAyK,GAAAyG,MAAA3L,GAAAvE,EAAA8C,KAAApD,EAAAV,EAAAqJ,GAAArI,EAAA8C,KAAAyB,EAAAvF,EAAAqJ,GAAArI,EAAA8C,KAAA7D,EAAAD,EAAAqJ,GAAAsH,WAAApL,GAAAA,EAAAtF,EAAAqD,KAAAgG,EAAArJ,EAAAqD,SAAgI,KAAAiC,EAAAtF,KAAAqJ,EAAA,CAAmBC,EAAA,IAAAA,GAAAhE,EAAA4L,uBAAA5L,EAAAvE,EAAAqI,GAAAkH,aAAAhL,EAAAvE,EAAAqI,EAAAD,EAAApJ,EAAAyK,EAAA,IAAA,IAAAlB,GAAA6H,YAAA7L,EAAAvE,EAAAqI,EAAAD,EAAApJ,EAAAyK,GAAA8F,aAAAK,aAAArL,GAAAvE,EAAAqI,EAAAD,EAAApJ,EAAAyK,EAAA,EAAgJ,SAAQ,QAAAyG,OAAA3L,GAAkB,GAAAvE,GAAAuE,EAAAwL,KAAA1H,EAAA9D,EAAA6D,EAAA7D,EAAAjC,IAA0B,IAAAwN,KAAA9P,EAAAqI,EAAAD,IAAA,EAAA,OAAA,CAA2B,KAAA,GAAApJ,GAAAuF,EAAAjC,KAAAA,KAAsBtD,IAAAuF,EAAAwL,MAAW,CAAE,GAAAM,gBAAArQ,EAAAyJ,EAAAzJ,EAAAqJ,EAAAhB,EAAAoB,EAAApB,EAAAgB,EAAAjB,EAAAqB,EAAArB,EAAAiB,EAAArK,EAAAyK,EAAAzK,EAAAqK,IAAAyG,KAAA9Q,EAAA+Q,KAAA/Q,EAAAA,EAAAsD,OAAA,EAAA,OAAA,CAAuFtD,GAAAA,EAAAsD,KAAS,OAAA,EAAS,QAAA2N,aAAA1L,EAAAvE,EAAAqI,EAAAD,GAA8B,GAAApJ,GAAAuF,EAAAwL,KAAAtG,EAAAlF,EAAAgE,EAAAhE,EAAAjC,IAA0B,IAAAwN,KAAA9Q,EAAAyK,EAAAlB,IAAA,EAAA,OAAA,CAA2B,KAAA,GAAA7I,GAAAV,EAAAyK,EAAAA,EAAAA,EAAAzK,EAAAyK,EAAAlB,EAAAkB,EAAAzK,EAAAyK,EAAAlB,EAAAkB,EAAAA,EAAAA,EAAAlB,EAAAkB,EAAAA,EAAAA,EAAAlB,EAAAkB,EAAAxK,EAAAD,EAAAqK,EAAAI,EAAAJ,EAAArK,EAAAqK,EAAAd,EAAAc,EAAArK,EAAAqK,EAAAd,EAAAc,EAAAI,EAAAJ,EAAAd,EAAAc,EAAAI,EAAAJ,EAAAd,EAAAc,EAAAf,EAAAtJ,EAAAyK,EAAAA,EAAAA,EAAAzK,EAAAyK,EAAAlB,EAAAkB,EAAAzK,EAAAyK,EAAAlB,EAAAkB,EAAAA,EAAAA,EAAAlB,EAAAkB,EAAAA,EAAAA,EAAAlB,EAAAkB,EAAAlJ,EAAAvB,EAAAqK,EAAAI,EAAAJ,EAAArK,EAAAqK,EAAAd,EAAAc,EAAArK,EAAAqK,EAAAd,EAAAc,EAAAI,EAAAJ,EAAAd,EAAAc,EAAAI,EAAAJ,EAAAd,EAAAc,EAAAH,EAAAoH,OAAA5Q,EAAAT,EAAAe,EAAAqI,EAAAD,GAAAP,EAAAyI,OAAAhI,EAAA/H,EAAAP,EAAAqI,EAAAD,GAAAiB,EAAA9E,EAAAgM,MAAkOlH,GAAAA,EAAAmH,GAAA3I,GAAU,CAAE,GAAAwB,IAAA9E,EAAAwL,MAAA1G,IAAA9E,EAAAjC,MAAA+N,gBAAArR,EAAAyK,EAAAzK,EAAAqK,EAAAI,EAAAA,EAAAA,EAAAJ,EAAAd,EAAAkB,EAAAlB,EAAAc,EAAAA,EAAAI,EAAAJ,EAAAA,IAAAyG,KAAAzG,EAAA0G,KAAA1G,EAAAA,EAAA/G,OAAA,EAAA,OAAA,CAA+G+G,GAAAA,EAAAkH,MAAU,IAAAlH,EAAA9E,EAAAkM,MAAcpH,GAAAA,EAAAmH,GAAAtH,GAAU,CAAE,GAAAG,IAAA9E,EAAAwL,MAAA1G,IAAA9E,EAAAjC,MAAA+N,gBAAArR,EAAAyK,EAAAzK,EAAAqK,EAAAI,EAAAA,EAAAA,EAAAJ,EAAAd,EAAAkB,EAAAlB,EAAAc,EAAAA,EAAAI,EAAAJ,EAAAA,IAAAyG,KAAAzG,EAAA0G,KAAA1G,EAAAA,EAAA/G,OAAA,EAAA,OAAA,CAA+G+G,GAAAA,EAAAoH,MAAU,OAAA,EAAS,QAAAN,wBAAA5L,EAAAvE,EAAAqI,GAAuC,GAAAD,GAAA7D,CAAQ,GAAA,CAAG,GAAAvF,GAAAoJ,EAAA2H,KAAAtG,EAAArB,EAAA9F,KAAAA,MAA2BoN,OAAA1Q,EAAAyK,IAAAiH,WAAA1R,EAAAoJ,EAAAA,EAAA9F,KAAAmH,IAAAkH,cAAA3R,EAAAyK,IAAAkH,cAAAlH,EAAAzK,KAAAgB,EAAA8C,KAAA9D,EAAAA,EAAAqJ,GAAArI,EAAA8C,KAAAsF,EAAApJ,EAAAqJ,GAAArI,EAAA8C,KAAA2G,EAAAzK,EAAAqJ,GAAAsH,WAAAvH,GAAAuH,WAAAvH,EAAA9F,MAAA8F,EAAA7D,EAAAkF,GAAArB,EAAAA,EAAA9F,WAA4K8F,IAAA7D,EAAa,OAAA6D,GAAS,QAAAgI,aAAA7L,EAAAvE,EAAAqI,EAAAD,EAAApJ,EAAAyK,GAAkC,GAAAlB,GAAAhE,CAAQ,GAAA,CAAG,IAAA,GAAA7E,GAAA6I,EAAAjG,KAAAA,KAAsB5C,IAAA6I,EAAAwH,MAAW,CAAE,GAAAxH,EAAAvJ,IAAAU,EAAAV,GAAA4R,gBAAArI,EAAA7I,GAAA,CAAoC,GAAAT,GAAA4R,aAAAtI,EAAA7I,EAAwB,OAAA6I,GAAAqH,aAAArH,EAAAA,EAAAjG,MAAArD,EAAA2Q,aAAA3Q,EAAAA,EAAAqD,MAAAiN,aAAAhH,EAAAvI,EAAAqI,EAAAD,EAAApJ,EAAAyK,OAAA8F,cAAAtQ,EAAAe,EAAAqI,EAAAD,EAAApJ,EAAAyK,GAAkH/J,EAAAA,EAAA4C,KAASiG,EAAAA,EAAAjG,WAASiG,IAAAhE,GAAa,QAAA+K,gBAAA/K,EAAAvE,EAAAqI,EAAAD,GAAiC,GAAApJ,GAAAyK,EAAAlB,EAAA7I,EAAAT,EAAAqJ,IAAmB,KAAAtJ,EAAA,EAAAyK,EAAAzJ,EAAAY,OAAmB5B,EAAAyK,EAAIzK,IAAAuJ,EAAAvI,EAAAhB,GAAAoJ,EAAA1I,EAAAV,EAAAyK,EAAA,EAAAzJ,EAAAhB,EAAA,GAAAoJ,EAAA7D,EAAA3D,QAAA3B,EAAAoQ,WAAA9K,EAAAgE,EAAA7I,EAAA0I,GAAA,MAAAnJ,EAAAqD,OAAArD,EAAA4Q,SAAA,GAAAvH,EAAAxF,KAAAgO,YAAA7R,GAAkH,KAAAqJ,EAAAyI,KAAAC,UAAAhS,EAAA,EAAyBA,EAAAsJ,EAAA1H,OAAW5B,IAAAiS,cAAA3I,EAAAtJ,GAAAqJ,GAAAA,EAAAuH,aAAAvH,EAAAA,EAAA/F,KAAmD,OAAA+F,GAAS,QAAA2I,UAAAzM,EAAAvE,GAAuB,MAAAuE,GAAAkF,EAAAzJ,EAAAyJ,EAAe,QAAAwH,eAAA1M,EAAAvE,GAA4B,GAAAA,EAAAkR,eAAA3M,EAAAvE,GAAA,CAA0B,GAAAqI,GAAAwI,aAAA7Q,EAAAuE,EAAwBqL,cAAAvH,EAAAA,EAAA/F,OAAwB,QAAA4O,gBAAA3M,EAAAvE,GAA6B,GAAAqI,GAAAD,EAAApI,EAAAhB,EAAAuF,EAAAkF,EAAAA,EAAAlF,EAAA8E,EAAAd,GAAA,EAAA,CAA+B,GAAA,CAAG,GAAAkB,GAAArB,EAAAiB,GAAAI,GAAArB,EAAA9F,KAAA+G,EAAA,CAAwB,GAAA3J,GAAA0I,EAAAqB,GAAAA,EAAArB,EAAAiB,IAAAjB,EAAA9F,KAAAmH,EAAArB,EAAAqB,IAAArB,EAAA9F,KAAA+G,EAAAjB,EAAAiB,EAAgD,IAAA3J,GAAAV,GAAAU,EAAA6I,EAAA,CAAc,GAAAA,EAAA7I,EAAAA,IAAAV,EAAA,CAAc,GAAAyK,IAAArB,EAAAiB,EAAA,MAAAjB,EAAoB,IAAAqB,IAAArB,EAAA9F,KAAA+G,EAAA,MAAAjB,GAAA9F,KAA8B+F,EAAAD,EAAAqB,EAAArB,EAAA9F,KAAAmH,EAAArB,EAAAA,EAAA9F,MAAyB8F,EAAAA,EAAA9F,WAAS8F,IAAApI,EAAa,KAAAqI,EAAA,MAAA,KAAkB,IAAArJ,IAAAuJ,EAAA,MAAAF,GAAA0H,IAAuB,IAAA9Q,GAAAqJ,EAAAD,EAAA9H,EAAA8H,EAAAoB,EAAAP,EAAAb,EAAAgB,EAAAxB,EAAA,EAAA,CAA4B,KAAAO,EAAAC,EAAA/F,KAAa8F,IAAAE,GAAMtJ,GAAAoJ,EAAAqB,GAAArB,EAAAqB,GAAAlJ,GAAA8P,gBAAA5G,EAAAP,EAAAlK,EAAAuJ,EAAAkB,EAAAlJ,EAAA2I,EAAAO,EAAAP,EAAAX,EAAAvJ,EAAAyK,EAAArB,EAAAqB,EAAArB,EAAAiB,MAAApK,EAAA8J,KAAAsF,IAAA5E,EAAArB,EAAAiB,IAAArK,EAAAoJ,EAAAqB,IAAA5B,GAAA5I,IAAA4I,GAAAO,EAAAqB,EAAApB,EAAAoB,IAAAkH,cAAAvI,EAAA7D,KAAA8D,EAAAD,EAAAP,EAAA5I,GAAAmJ,EAAAA,EAAA9F,IAA6J,OAAA+F,GAAS,QAAA2H,YAAAzL,EAAAvE,EAAAqI,EAAAD,GAA6B,GAAApJ,GAAAuF,CAAQ,IAAA,OAAAvF,EAAAwR,IAAAxR,EAAAwR,EAAAF,OAAAtR,EAAAyK,EAAAzK,EAAAqK,EAAArJ,EAAAqI,EAAAD,IAAApJ,EAAAyR,MAAAzR,EAAA+Q,KAAA/Q,EAAAuR,MAAAvR,EAAAsD,KAAAtD,EAAAA,EAAAsD,WAAkFtD,IAAAuF,EAAavF,GAAAyR,MAAAF,MAAA,KAAAvR,EAAAyR,MAAA,KAAAU,WAAAnS,GAA8C,QAAAmS,YAAA5M,GAAuB,GAAAvE,GAAAqI,EAAAD,EAAApJ,EAAAyK,EAAAlB,EAAA7I,EAAAT,EAAAqJ,EAAA,CAAwB,GAAA,CAAG,IAAAD,EAAA9D,EAAAA,EAAA,KAAAkF,EAAA,KAAAlB,EAAA,EAA0BF,GAAE,CAAE,IAAAE,IAAAH,EAAAC,EAAA3I,EAAA,EAAAM,EAAA,EAAoBA,EAAAsI,IAAA5I,IAAA0I,EAAAA,EAAAmI,OAAuBvQ,KAAK,IAAAf,EAAAqJ,EAAQ5I,EAAA,GAAAT,EAAA,GAAAmJ,GAAY,IAAA1I,GAAAV,EAAAoJ,EAAAA,EAAAA,EAAAmI,MAAAtR,KAAA,IAAAA,GAAAmJ,EAAAC,EAAAmI,GAAApI,EAAAoI,GAAAxR,EAAAqJ,EAAAA,EAAAA,EAAAkI,MAAA7Q,MAAAV,EAAAoJ,EAAAA,EAAAA,EAAAmI,MAAAtR,MAAAD,EAAAqJ,EAAAA,EAAAA,EAAAkI,MAAA7Q,KAAA+J,EAAAA,EAAA8G,MAAAvR,EAAAuF,EAAAvF,EAAAA,EAAAyR,MAAAhH,EAAAA,EAAAzK,CAAuIqJ,GAAAD,EAAIqB,EAAA8G,MAAA,KAAAjI,GAAA,QAAkBC,EAAA,EAAW,OAAAhE,GAAS,QAAA+L,QAAA/L,EAAAvE,EAAAqI,EAAAD,EAAApJ,GAA2B,MAAAuF,GAAA,OAAAA,EAAA8D,GAAArJ,EAAAgB,EAAA,OAAAA,EAAAoI,GAAApJ,EAAAuF,EAAA,UAAAA,EAAAA,GAAA,GAAAA,EAAA,WAAAA,EAAAA,GAAA,GAAAA,EAAA,WAAAA,EAAAA,GAAA,GAAAA,EAAA,YAAAA,EAAAA,GAAA,GAAAvE,EAAA,UAAAA,EAAAA,GAAA,GAAAA,EAAA,WAAAA,EAAAA,GAAA,GAAAA,EAAA,WAAAA,EAAAA,GAAA,GAAAA,EAAA,YAAAA,EAAAA,GAAA,GAAAuE,EAAAvE,GAAA,EAAsN,QAAA8Q,aAAAvM,GAAwB,GAAAvE,GAAAuE,EAAA8D,EAAA9D,CAAY,IAAAvE,EAAAyJ,EAAApB,EAAAoB,IAAApB,EAAArI,GAAAA,EAAAA,EAAAsC,WAA2BtC,IAAAuE,EAAa,OAAA8D,GAAS,QAAAgI,iBAAA9L,EAAAvE,EAAAqI,EAAAD,EAAApJ,EAAAyK,EAAAlB,EAAA7I,GAA0C,OAAAV,EAAAuJ,IAAAvI,EAAAN,IAAA6E,EAAAgE,IAAAkB,EAAA/J,IAAA,IAAA6E,EAAAgE,IAAAH,EAAA1I,IAAA2I,EAAAE,IAAAvI,EAAAN,IAAA,IAAA2I,EAAAE,IAAAkB,EAAA/J,IAAAV,EAAAuJ,IAAAH,EAAA1I,IAAA,EAAyF,QAAAkR,iBAAArM,EAAAvE,GAA8B,MAAAuE,GAAAjC,KAAAtD,IAAAgB,EAAAhB,GAAAuF,EAAAwL,KAAA/Q,IAAAgB,EAAAhB,IAAAoS,kBAAA7M,EAAAvE,IAAA2Q,cAAApM,EAAAvE,IAAA2Q,cAAA3Q,EAAAuE,IAAA8M,aAAA9M,EAAAvE,GAA0H,QAAA8P,MAAAvL,EAAAvE,EAAAqI,GAAqB,OAAArI,EAAAqJ,EAAA9E,EAAA8E,IAAAhB,EAAAoB,EAAAzJ,EAAAyJ,IAAAzJ,EAAAyJ,EAAAlF,EAAAkF,IAAApB,EAAAgB,EAAArJ,EAAAqJ,GAA8C,QAAAqG,QAAAnL,EAAAvE,GAAqB,MAAAuE,GAAAkF,IAAAzJ,EAAAyJ,GAAAlF,EAAA8E,IAAArJ,EAAAqJ,EAA4B,QAAAqH,YAAAnM,EAAAvE,EAAAqI,EAAAD,GAA6B,SAAAsH,OAAAnL,EAAAvE,IAAA0P,OAAArH,EAAAD,IAAAsH,OAAAnL,EAAA6D,IAAAsH,OAAArH,EAAArI,KAAA8P,KAAAvL,EAAAvE,EAAAqI,GAAA,GAAAyH,KAAAvL,EAAAvE,EAAAoI,GAAA,GAAA0H,KAAAzH,EAAAD,EAAA7D,GAAA,GAAAuL,KAAAzH,EAAAD,EAAApI,GAAA,EAAyH,QAAAoR,mBAAA7M,EAAAvE,GAAgC,GAAAqI,GAAA9D,CAAQ,GAAA,CAAG,GAAA8D,EAAArJ,IAAAuF,EAAAvF,GAAAqJ,EAAA/F,KAAAtD,IAAAuF,EAAAvF,GAAAqJ,EAAArJ,IAAAgB,EAAAhB,GAAAqJ,EAAA/F,KAAAtD,IAAAgB,EAAAhB,GAAA0R,WAAArI,EAAAA,EAAA/F,KAAAiC,EAAAvE,GAAA,OAAA,CAA2FqI,GAAAA,EAAA/F,WAAS+F,IAAA9D,EAAa,QAAA,EAAS,QAAAoM,eAAApM,EAAAvE,GAA4B,MAAA8P,MAAAvL,EAAAwL,KAAAxL,EAAAA,EAAAjC,MAAA,EAAAwN,KAAAvL,EAAAvE,EAAAuE,EAAAjC,OAAA,GAAAwN,KAAAvL,EAAAA,EAAAwL,KAAA/P,IAAA,EAAA8P,KAAAvL,EAAAvE,EAAAuE,EAAAwL,MAAA,GAAAD,KAAAvL,EAAAA,EAAAjC,KAAAtC,GAAA,EAA+G,QAAAqR,cAAA9M,EAAAvE,GAA2B,GAAAqI,GAAA9D,EAAA6D,GAAA,EAAApJ,GAAAuF,EAAAkF,EAAAzJ,EAAAyJ,GAAA,EAAAA,GAAAlF,EAAA8E,EAAArJ,EAAAqJ,GAAA,CAAyC,IAAAhB,EAAAgB,EAAAI,GAAApB,EAAA/F,KAAA+G,EAAAI,GAAAzK,GAAAqJ,EAAA/F,KAAAmH,EAAApB,EAAAoB,IAAAA,EAAApB,EAAAgB,IAAAhB,EAAA/F,KAAA+G,EAAAhB,EAAAgB,GAAAhB,EAAAoB,IAAArB,GAAAA,GAAAC,EAAAA,EAAA/F,WAAmF+F,IAAA9D,EAAa,OAAA6D,GAAS,QAAAyI,cAAAtM,EAAAvE,GAA2B,GAAAqI,GAAA,GAAAiJ,MAAA/M,EAAAvF,EAAAuF,EAAAkF,EAAAlF,EAAA8E,GAAAjB,EAAA,GAAAkJ,MAAAtR,EAAAhB,EAAAgB,EAAAyJ,EAAAzJ,EAAAqJ,GAAArK,EAAAuF,EAAAjC,KAAAmH,EAAAzJ,EAAA+P,IAAsE,OAAAxL,GAAAjC,KAAAtC,EAAAA,EAAA+P,KAAAxL,EAAA8D,EAAA/F,KAAAtD,EAAAA,EAAA+Q,KAAA1H,EAAAD,EAAA9F,KAAA+F,EAAAA,EAAA0H,KAAA3H,EAAAqB,EAAAnH,KAAA8F,EAAAA,EAAA2H,KAAAtG,EAAArB,EAAiF,QAAAqH,YAAAlL,EAAAvE,EAAAqI,EAAAD,GAA6B,GAAApJ,GAAA,GAAAsS,MAAA/M,EAAAvE,EAAAqI,EAAsB,OAAAD,IAAApJ,EAAAsD,KAAA8F,EAAA9F,KAAAtD,EAAA+Q,KAAA3H,EAAAA,EAAA9F,KAAAyN,KAAA/Q,EAAAoJ,EAAA9F,KAAAtD,IAAAA,EAAA+Q,KAAA/Q,EAAAA,EAAAsD,KAAAtD,GAAAA,EAA+E,QAAA2Q,YAAApL,GAAuBA,EAAAjC,KAAAyN,KAAAxL,EAAAwL,KAAAxL,EAAAwL,KAAAzN,KAAAiC,EAAAjC,KAAAiC,EAAAkM,QAAAlM,EAAAkM,MAAAF,MAAAhM,EAAAgM,OAAAhM,EAAAgM,QAAAhM,EAAAgM,MAAAE,MAAAlM,EAAAkM,OAAwG,QAAAa,MAAA/M,EAAAvE,EAAAqI,GAAqBH,KAAAlJ,EAAAuF,EAAA2D,KAAAuB,EAAAzJ,EAAAkI,KAAAmB,EAAAhB,EAAAH,KAAA6H,KAAA,KAAA7H,KAAA5F,KAAA,KAAA4F,KAAAsI,EAAA,KAAAtI,KAAAuI,MAAA,KAAAvI,KAAAqI,MAAA,KAAArI,KAAA2H,SAAA,EAAqH,QAAAL,YAAAjL,EAAAvE,EAAAqI,EAAAD,GAA6B,IAAA,GAAApJ,GAAA,EAAAyK,EAAAzJ,EAAAuI,EAAAF,EAAAD,EAAsBqB,EAAApB,EAAIoB,GAAArB,EAAApJ,IAAAuF,EAAAgE,GAAAhE,EAAAkF,KAAAlF,EAAAkF,EAAA,GAAAlF,EAAAgE,EAAA,IAAAA,EAAAkB,CAAwC,OAAAzK,GAASD,OAAAD,QAAAsQ,OAAAA,OAAAmC,UAAA,SAAAhN,EAAAvE,EAAAqI,EAAAD,GAAyD,GAAApJ,GAAAgB,GAAAA,EAAAY,OAAA6I,EAAAzK,EAAAgB,EAAA,GAAAqI,EAAA9D,EAAA3D,OAAA2H,EAAAQ,KAAAsF,IAAAmB,WAAAjL,EAAA,EAAAkF,EAAApB,GAAsE,IAAArJ,EAAA,IAAA,GAAAU,GAAA,EAAAT,EAAAe,EAAAY,OAA4BlB,EAAAT,EAAIS,IAAA,CAAK,GAAA4I,GAAAtI,EAAAN,GAAA2I,EAAA9H,EAAAb,EAAAT,EAAA,EAAAe,EAAAN,EAAA,GAAA2I,EAAA9D,EAAA3D,MAAuC2H,IAAAQ,KAAAsF,IAAAmB,WAAAjL,EAAA+D,EAAA/H,EAAA8H,IAAiC,GAAAa,GAAA,CAAQ,KAAAxJ,EAAA,EAAQA,EAAA0I,EAAAxH,OAAWlB,GAAA,EAAA,CAAM,GAAAmI,GAAAO,EAAA1I,GAAA2I,EAAAgB,EAAAjB,EAAA1I,EAAA,GAAA2I,EAAA9I,EAAA6I,EAAA1I,EAAA,GAAA2I,CAAmCa,IAAAH,KAAAsF,KAAA9J,EAAAsD,GAAAtD,EAAAhF,KAAAgF,EAAA8E,EAAA,GAAA9E,EAAAsD,EAAA,KAAAtD,EAAAsD,GAAAtD,EAAA8E,KAAA9E,EAAAhF,EAAA,GAAAgF,EAAAsD,EAAA,KAAqE,MAAA,KAAAU,GAAA,IAAAW,EAAA,EAAAH,KAAAsF,KAAAnF,EAAAX,GAAAA,IAAwC6G,OAAAoC,QAAA,SAAAjN,GAA4B,IAAA,GAAAvE,GAAAuE,EAAA,GAAA,GAAA3D,OAAAyH,GAA4BoJ,YAAAC,SAAAC,WAAA3R,GAAkCoI,EAAA,EAAApJ,EAAA,EAASA,EAAAuF,EAAA3D,OAAW5B,IAAA,CAAK,IAAA,GAAAyK,GAAA,EAAYA,EAAAlF,EAAAvF,GAAA4B,OAAc6I,IAAA,IAAA,GAAAlB,GAAA,EAAgBA,EAAAvI,EAAIuI,IAAAF,EAAAoJ,SAAA3O,KAAAyB,EAAAvF,GAAAyK,GAAAlB,GAAgCvJ,GAAA,IAAAoJ,GAAA7D,EAAAvF,EAAA,GAAA4B,OAAAyH,EAAAqJ,MAAA5O,KAAAsF,IAAwC,MAAAC,SAClhNuJ,GAAA,SAAAhJ,QAAA7J,OAAAD,SACJ,QAAA2C,UAAA4G,GAAqB,GAAA,YAAAA,EAAA9G,KAAA,MAAAsQ,aAAAxJ,EAAA3G,YAAwD,IAAA,iBAAA2G,EAAA9G,KAAA,CAA4B,IAAA,GAAAgD,GAAA,EAAAvE,EAAA,EAAgBA,EAAAqI,EAAA3G,YAAAd,OAAuBZ,IAAAuE,GAAAsN,YAAAxJ,EAAA3G,YAAA1B,GAAqC,OAAAuE,GAAS,MAAA,MAAY,QAAAsN,aAAAxJ,GAAwB,GAAA9D,GAAA,CAAQ,IAAA8D,GAAAA,EAAAzH,OAAA,EAAA,CAAkB2D,GAAAwE,KAAAsF,IAAAyD,SAAAzJ,EAAA,IAA4B,KAAA,GAAArI,GAAA,EAAYA,EAAAqI,EAAAzH,OAAWZ,IAAAuE,GAAAwE,KAAAsF,IAAAyD,SAAAzJ,EAAArI,KAAgC,MAAAuE,GAAS,QAAAuN,UAAAzJ,GAAqB,GAAA9D,GAAA,CAAQ,IAAA8D,EAAAzH,OAAA,EAAA,CAAe,IAAA,GAAAZ,GAAAoI,EAAA1I,EAAA,EAAgBA,EAAA2I,EAAAzH,OAAA,EAAalB,IAAAM,EAAAqI,EAAA3I,GAAA0I,EAAAC,EAAA3I,EAAA,GAAA6E,GAAAwN,IAAA3J,EAAA,GAAApI,EAAA,KAAA,EAAA+I,KAAAC,IAAA+I,IAAA/R,EAAA,KAAA+I,KAAAC,IAAA+I,IAAA3J,EAAA,KAAkF7D,GAAAA,EAAAyN,MAAAC,OAAAD,MAAAC,OAAA,EAAgC,MAAA1N,GAAS,QAAAwN,KAAA1J,GAAgB,MAAAA,GAAAU,KAAAgG,GAAA,IAAqB,GAAAiD,OAAApJ,QAAA,QAA2B7J,QAAAD,QAAA2C,SAAAA,SAAA1C,OAAAD,QAAAoT,KAAAJ,WACzlBE,MAAA,KAAWG,GAAA,SAAAvJ,QAAA7J,OAAAD,SACd,QAAAsT,QAAA/J,EAAA9D,GAAqB,OAAA8D,GAAAA,EAAA9G,MAAA,MAAwB,IAAA,oBAAA,MAAA8G,GAAA7G,SAAA6G,EAAA7G,SAAA2B,IAAAkP,WAAAD,OAAA7N,IAAA8D,CAAiF,KAAA,UAAA,MAAAA,GAAA5G,SAAA2Q,OAAA/J,EAAA5G,SAAA8C,GAAA8D,CAAuD,KAAA,UAAA,IAAA,eAAA,MAAAiK,SAAAjK,EAAA9D,EAAqD,SAAA,MAAA8D,IAAkB,QAAAgK,YAAAhK,EAAA9D,GAAyB,MAAA,UAAAvE,GAAmB,MAAAqI,GAAArI,EAAAuE,IAAe,QAAA+N,SAAAjK,EAAA9D,GAAsB,MAAA,YAAA8D,EAAA9G,KAAA8G,EAAA3G,YAAA6Q,aAAAlK,EAAA3G,YAAA6C,GAAA,iBAAA8D,EAAA9G,OAAA8G,EAAA3G,YAAA2G,EAAA3G,YAAAyB,IAAAkP,WAAAE,aAAAhO,KAAA8D,EAA8J,QAAAkK,cAAAlK,EAAA9D,GAA2BA,IAAAA,EAAA8D,EAAA,GAAAmK,KAAAnK,EAAA,IAAA9D,EAAyB,KAAA,GAAAvE,GAAA,EAAYA,EAAAqI,EAAAzH,OAAWZ,IAAAqI,EAAArI,GAAAwS,KAAAnK,EAAArI,GAAAuE,EAAsB,OAAA8D,GAAS,QAAAmK,MAAAnK,EAAA9D,GAAmB,MAAAkO,IAAApK,KAAA9D,EAAA8D,EAAAA,EAAAqK,UAA+B,QAAAD,IAAApK,GAAe,MAAAsK,aAAAT,KAAA7J,IAAA,EAA8B,GAAAsK,aAAA/J,QAAA,eAAwC7J,QAAAD,QAAAsT,SACztBQ,eAAA,IAAiBC,GAAA,SAAAjK,QAAA7J,OAAAD,SACpB,YAAa,SAAAgU,MAAAvO,EAAA8D,EAAAD,EAAApI,EAAAsI,EAAAtJ,EAAAC,EAAAsB,GAA+B,GAAA6H,GAAAC,EAAArI,GAAAqI,EAAApJ,GAAAmJ,GAAA7H,GAAAP,EAAA,MAAAuE,EAAiC,IAAAtF,EAAAe,GAAAO,EAAA6H,EAAA,MAAA,KAAwB,KAAA,GAAAgB,MAAA9I,EAAA,EAAiBA,EAAAiE,EAAA3D,OAAWN,IAAA,CAAK,GAAAiI,GAAAlJ,EAAAK,EAAA6E,EAAAjE,GAAAuH,EAAAnI,EAAA+B,SAAAkI,EAAAjK,EAAA6B,IAAqC,IAAAgH,EAAA7I,EAAAqT,IAAAzK,GAAAjJ,EAAAK,EAAA8M,IAAAlE,GAAAC,GAAAH,GAAA/I,GAAAW,EAAAoJ,EAAAtG,KAAApD,OAA8C,MAAA6I,EAAAvI,GAAAX,EAAA+I,GAAA,CAAqB,GAAAc,GAAA,IAAAS,EAAAqJ,WAAAnL,EAAAO,EAAApI,EAAAsI,GAAA2K,aAAApL,EAAAO,EAAApI,EAAAsI,EAAAtJ,EAAA,IAAA2K,EAA8DT,GAAAtI,QAAAwI,EAAAtG,KAAAoQ,cAAAxT,EAAAyT,KAAAxJ,EAAAT,EAAAxJ,EAAA4B,MAAkD,MAAA8H,GAAAxI,OAAAwI,EAAA,KAAuB,QAAA4J,YAAAzO,EAAA8D,EAAAD,EAAApI,GAA6B,IAAA,GAAAsI,MAAAtJ,EAAA,EAAiBA,EAAAuF,EAAA3D,OAAW5B,IAAA,CAAK,GAAAC,GAAAsF,EAAAvF,GAAAuB,EAAAtB,EAAAe,EAAkBO,IAAA8H,GAAA9H,GAAA6H,GAAAE,EAAAxF,KAAA7D,GAAsB,MAAAqJ,GAAS,QAAA2K,cAAA1O,EAAA8D,EAAAD,EAAApI,EAAAsI,EAAAtJ,GAAmC,IAAA,GAAAC,MAAAsB,EAAA,EAAiBA,EAAAgE,EAAA3D,OAAWL,IAAA,CAAK,GAAA6I,GAAA9I,EAAAiI,EAAAlJ,EAAA,EAAAK,EAAA,EAAAmI,EAAA,KAAA8B,EAAApF,EAAAhE,GAAA2I,EAAAS,EAAAmG,KAAA1Q,EAAAuK,EAAAyJ,KAAA9J,EAAAK,EAAA0J,MAAAC,EAAA3J,EAAA/I,OAAArB,IAA4E,KAAAe,EAAA,EAAQA,EAAAgT,EAAA,EAAMhT,IAAA8I,EAAAvB,GAAA8B,EAAArJ,GAAAuH,EAAA8B,EAAArJ,EAAA,GAAAjB,EAAAK,GAAA0J,EAAApJ,GAAAN,EAAAmI,EAAA7H,GAAAX,EAAAgJ,EAAA3I,EAAA0I,GAAA7I,EAAAuD,KAAAwF,EAAAc,EAAAvB,EAAAQ,GAAAC,EAAAc,EAAAvB,EAAAO,IAAApJ,IAAAO,EAAAgU,SAAAtU,EAAAM,EAAA2J,EAAA9J,EAAAkK,KAAA5J,GAAA2I,GAAA9I,EAAAuD,KAAAwF,EAAAc,EAAAvB,EAAAQ,IAAAhJ,EAAA+I,EAAA1I,EAAA2I,GAAA9I,EAAAuD,KAAAwF,EAAAc,EAAAvB,EAAAO,GAAAE,EAAAc,EAAAvB,EAAAQ,IAAArJ,IAAAO,EAAAgU,SAAAtU,EAAAM,EAAA2J,EAAA9J,EAAAkK,KAAA5J,GAAA0I,GAAA7I,EAAAuD,KAAAwF,EAAAc,EAAAvB,EAAAO,KAAA7I,EAAAuD,KAAAsG,GAAA1J,EAAA2I,GAAA9I,EAAAuD,KAAAwF,EAAAc,EAAAvB,EAAAQ,IAAArJ,IAAAO,EAAAgU,SAAAtU,EAAAM,EAAA2J,EAAA9J,EAAAkK,KAAA5J,EAAA0I,IAAA7I,EAAAuD,KAAAwF,EAAAc,EAAAvB,EAAAO,IAAApJ,IAAAO,EAAAgU,SAAAtU,EAAAM,EAAA2J,EAAA9J,EAAAkK,OAAqUjK,GAAA+J,EAAAO,EAAA2J,EAAA,IAAAtT,KAAAqI,GAAAhJ,GAAA+I,GAAA7I,EAAAuD,KAAAsG,GAAAb,EAAAhJ,EAAAA,EAAAqB,OAAA,GAAA5B,GAAAuJ,IAAAhJ,EAAA,GAAA,KAAAgJ,EAAA,IAAAhJ,EAAA,GAAA,KAAAgJ,EAAA,KAAAhJ,EAAAuD,KAAAvD,EAAA,IAAAgU,SAAAtU,EAAAM,EAAA2J,EAAA9J,EAAAkK,GAA+H,MAAArK,GAAS,QAAAsU,UAAAhP,EAAA8D,EAAAD,EAAApI,EAAAsI,GAA6B,MAAAD,GAAAzH,SAAAyH,EAAAyH,KAAA1H,EAAAC,EAAA+K,KAAApT,MAAA,KAAAsI,IAAAD,EAAAgL,MAAA/K,GAAA/D,EAAAzB,KAAAuF,OAA0EtJ,OAAAD,QAAAgU,IAAoB,IAAAI,eAAAtK,QAAA,eACvsC4K,YAAA,KAAeC,GAAA,SAAA7K,QAAA7J,OAAAD,SAClB,YAAa,SAAA4U,SAAAnP,EAAA6D,GAAsB,GAAAC,KAAS,IAAA,sBAAA9D,EAAAhD,KAAA,IAAA,GAAA7B,GAAA,EAA4CA,EAAA6E,EAAA/C,SAAAZ,OAAoBlB,IAAAiU,eAAAtL,EAAA9D,EAAA/C,SAAA9B,GAAA0I,OAAsC,YAAA7D,EAAAhD,KAAAoS,eAAAtL,EAAA9D,EAAA6D,GAAAuL,eAAAtL,GAA+D5G,SAAA8C,GAAW6D,EAAI,OAAAC,GAAS,QAAAsL,gBAAApP,EAAA6D,EAAAC,GAA+B,GAAA,OAAAD,EAAA3G,SAAA,CAAsB,GAAA/B,GAAA6I,EAAAvJ,EAAAgB,EAAAsI,EAAAF,EAAA3G,SAAApC,EAAAiJ,EAAA/G,KAAAtC,EAAAqJ,EAAA5G,YAAAnB,EAAA6H,EAAAzG,WAAArB,EAAA8H,EAAA9G,EAAwE,IAAA,UAAAjC,EAAAkF,EAAAzB,KAAAoQ,cAAA3S,EAAA,GAAAqT,aAAA3U,IAAAqB,QAA8D,IAAA,eAAAjB,EAAAkF,EAAAzB,KAAAoQ,cAAA3S,EAAA,EAAAsT,QAAA5U,GAAAqB,QAAiE,IAAA,eAAAjB,EAAAkF,EAAAzB,KAAAoQ,cAAA3S,EAAA,GAAAsT,QAAA5U,EAAAoJ,IAAA/H,QAAqE,IAAA,oBAAAjB,GAAA,YAAAA,EAAA,CAA8C,IAAAL,KAAAU,EAAA,EAAaA,EAAAT,EAAA2B,OAAWlB,IAAAM,EAAA6T,QAAA5U,EAAAS,GAAA2I,GAAA,YAAAhJ,IAAAW,EAAAqT,MAAA,IAAA3T,GAAAV,EAAA8D,KAAA9C,EAA+DuE,GAAAzB,KAAAoQ,cAAA3S,EAAA,YAAAlB,EAAA,EAAA,EAAAL,EAAAsB,QAA+C,IAAA,iBAAAjB,EAAA,CAA4B,IAAAL,KAAAU,EAAA,EAAaA,EAAAT,EAAA2B,OAAWlB,IAAA,IAAA6I,EAAA,EAAYA,EAAAtJ,EAAAS,GAAAkB,OAAc2H,IAAAvI,EAAA6T,QAAA5U,EAAAS,GAAA6I,GAAAF,GAAArI,EAAAqT,MAAA,IAAA9K,EAAAvJ,EAAA8D,KAAA9C,EAAiDuE,GAAAzB,KAAAoQ,cAAA3S,EAAA,EAAAvB,EAAAsB,QAA+B,CAAK,GAAA,uBAAAjB,EAAA,KAAA,IAAAoJ,OAAA,4CAAyF,KAAA/I,EAAA,EAAQA,EAAA4I,EAAAwL,WAAAlT,OAAsBlB,IAAAiU,eAAApP,GAAsB9C,SAAA6G,EAAAwL,WAAApU,GAAAiC,WAAApB,GAAsC8H,KAAM,QAAAwL,SAAAtP,EAAA6D,GAAsB,IAAA,GAAAC,MAAA3I,EAAA,EAAiBA,EAAA6E,EAAA3D,OAAWlB,IAAA2I,EAAAvF,KAAA8Q,aAAArP,EAAA7E,IAA+B,OAAA0I,KAAA2L,SAAA1L,EAAAD,GAAA4L,SAAA3L,IAAAA,EAAwC,QAAAuL,cAAArP,GAAyB,GAAA6D,GAAAW,KAAAC,IAAAzE,EAAA,GAAAwE,KAAAgG,GAAA,KAAA1G,EAAA9D,EAAA,GAAA,IAAA,GAAA7E,EAAA,GAAA,IAAAqJ,KAAAkL,KAAA,EAAA7L,IAAA,EAAAA,IAAAW,KAAAgG,EAAsF,OAAArP,GAAAA,EAAA,EAAA,EAAAA,EAAA,EAAA,EAAAA,GAAA2I,EAAA3I,EAAA,GAA+B,QAAAsU,UAAAzP,GAAqB,IAAA,GAAA6D,GAAAC,EAAA3I,EAAA,EAAA6I,EAAA,EAAAvJ,EAAA,EAAwBA,EAAAuF,EAAA3D,OAAA,EAAa5B,IAAAoJ,EAAAC,GAAA9D,EAAAvF,GAAAqJ,EAAA9D,EAAAvF,EAAA,GAAAU,GAAA0I,EAAA,GAAAC,EAAA,GAAAA,EAAA,GAAAD,EAAA,GAAAG,GAAAQ,KAAAsF,IAAAhG,EAAA,GAAAD,EAAA,IAAAW,KAAAsF,IAAAhG,EAAA,GAAAD,EAAA,GAAyF7D,GAAAuL,KAAA/G,KAAAsF,IAAA3O,EAAA,GAAA6E,EAAA6O,KAAA7K,EAA8BxJ,OAAAD,QAAA4U,OAAuB,IAAAK,UAAAnL,QAAA,cAAAsK,cAAAtK,QAAA,eACtgD4K,YAAA,GAAAU,aAAA,KAA+BC,IAAA,SAAAvL,QAAA7J,OAAAD,SAClC,YAAa,SAAAoU,eAAA3O,EAAA6D,EAAAG,EAAAvI,GAAgC,GAAAqI,IAAO/G,GAAAtB,GAAA,KAAAuB,KAAA6G,EAAA3G,SAAA8G,EAAA4K,KAAA5O,GAAA,KAAAwO,KAAA,EAAA,EAAA,EAAA,GAAAvG,MAAA,EAAA,GAAA,EAAA,GAA6E,OAAA4H,UAAA/L,GAAAA,EAAqB,QAAA+L,UAAA7P,GAAqB,GAAA6D,GAAA7D,EAAA9C,SAAA8G,EAAAhE,EAAAwO,IAAA/S,EAAAuE,EAAAiI,GAAiC,IAAA,IAAAjI,EAAAhD,KAAA8S,aAAA9L,EAAAvI,EAAAoI,OAAkC,KAAA,GAAAC,GAAA,EAAiBA,EAAAD,EAAAxH,OAAWyH,IAAAgM,aAAA9L,EAAAvI,EAAAoI,EAAAC,GAA2B,OAAA9D,GAAS,QAAA8P,cAAA9P,EAAA6D,EAAAG,GAA6B,IAAA,GAAAvI,GAAAqI,EAAA,EAAcA,EAAAE,EAAA3H,OAAWyH,IAAArI,EAAAuI,EAAAF,GAAA9D,EAAA,GAAAwE,KAAAgK,IAAA/S,EAAA,GAAAuE,EAAA,IAAA6D,EAAA,GAAAW,KAAAyD,IAAAxM,EAAA,GAAAoI,EAAA,IAAA7D,EAAA,GAAAwE,KAAAgK,IAAA/S,EAAA,GAAAuE,EAAA,IAAA6D,EAAA,GAAAW,KAAAyD,IAAAxM,EAAA,GAAAoI,EAAA,IAA+GrJ,OAAAD,QAAAoU,mBAC/coB,IAAA,SAAA1L,QAAA7J,OAAAD,SACJ,YAAa,SAAAyV,WAAAhQ,EAAA6D,GAAwB,MAAA,IAAAoM,WAAAjQ,EAAA6D,GAA0B,QAAAoM,WAAAjQ,EAAA6D,GAA6E,GAAApJ,IAArDoJ,EAAAF,KAAAuM,QAAApP,OAAA1F,OAAA6K,OAAAtC,KAAAuM,SAAArM,IAAqDsM,KAAc1V,IAAA2V,QAAAC,KAAA,kBAAmC,IAAAlV,GAAA,GAAA0I,EAAAyM,QAAA7U,EAAA0T,QAAAnP,EAAA6D,EAAA0M,WAAApV,EAAA0I,EAAA2M,QAAyD7M,MAAA8M,SAAa9M,KAAA+M,cAAAjW,IAAA2V,QAAAO,QAAA,mBAAAP,QAAAV,IAAA,oCAAA7L,EAAA+M,aAAA/M,EAAAgN,gBAAAT,QAAAC,KAAA,kBAAA1M,KAAAyD,SAAwLzD,KAAAmN,MAAA,IAAArV,EAAAsV,KAAAtV,EAAAoI,EAAAmN,OAAAnN,EAAA2M,OAAAS,aAAA5U,QAAAsH,KAAAuN,UAAAzV,EAAA,EAAA,EAAA,GAAAhB,IAAAgB,EAAAY,QAAA+T,QAAAV,IAAA,2BAAA/L,KAAA8M,MAAA,GAAAU,YAAAxN,KAAA8M,MAAA,GAAAW,WAAAhB,QAAAO,QAAA,kBAAAP,QAAAV,IAAA,mBAAA/L,KAAAmN,MAAAO,KAAAC,UAAA3N,KAAAyD,SAAyS,QAAAmK,MAAAvR,EAAA6D,EAAApJ,GAAqB,MAAA,MAAA,GAAAuF,GAAAvF,EAAAoJ,GAAA7D,EAAyB,QAAAiR,YAAAjR,EAAA6D,EAAApJ,GAA2B,OAAAA,GAAAA,EAAAuF,EAAA,KAAA6D,EAAA,GAAA7D,EAAA,KAAA6D,EAAA,GAAA7D,EAAA,IAAAA,EAAA,GAAA,GAAkD,QAAAwR,YAAAxR,EAAA6D,EAAApJ,GAA2B,QAAAA,EAAAuF,EAAA,KAAA6D,EAAA,GAAA7D,EAAA,KAAA6D,EAAA,GAAA7D,EAAA,IAAAA,EAAA,GAAAvF,EAAA,GAAkD,QAAAqG,QAAAd,EAAA6D,GAAqB,IAAA,GAAApJ,KAAAoJ,GAAA7D,EAAAvF,GAAAoJ,EAAApJ,EAAyB,OAAAuF,GAAS,QAAAyR,iBAAAzR,EAAA6D,EAAApJ,GAAgC,GAAAU,GAAA6E,EAAAL,MAAe,IAAA,IAAAxE,EAAAkB,OAAA,OAAA,CAAyB,IAAAZ,GAAAN,EAAA,EAAW,IAAA,IAAAM,EAAAuB,MAAAvB,EAAAyB,SAAAb,OAAA,EAAA,OAAA,CAA4C,IAAAyH,GAAArI,EAAAyB,SAAA,GAAAb,MAA2B,IAAA,IAAAyH,EAAA,OAAA,CAAkB,KAAA,GAAA9H,GAAA,EAAYA,EAAA8H,EAAI9H,IAAA,CAAK,GAAAtB,GAAAgX,UAAAxR,MAAAzE,EAAAyB,SAAA,GAAAlB,GAAA6H,EAAA7D,EAAA2R,GAAA3R,EAAAkF,EAAAlF,EAAA8E,EAAuD,IAAApK,EAAA,MAAAD,GAAAC,EAAA,KAAAmJ,EAAApJ,GAAAC,EAAA,MAAAD,GAAAC,EAAA,KAAAmJ,EAAApJ,EAAA,OAAA,EAAyD,OAAA,EAASD,OAAAD,QAAAyV,SAAyB,IAAAb,SAAA9K,QAAA,aAAAqN,UAAArN,QAAA,eAAAkK,KAAAlK,QAAA,UAAA0M,KAAA1M,QAAA,UAAAuN,WAAAvN,QAAA,SAA6I4L,WAAApU,UAAAqU,SAA6BI,QAAA,GAAAM,aAAA,EAAAC,eAAA,IAAAgB,eAAA,EAAAtB,UAAA,EAAAC,OAAA,KAAAQ,OAAA,GAAAb,MAAA,GAAwGF,UAAApU,UAAAqV,UAAA,SAAAlR,EAAA6D,EAAApJ,EAAAU,EAAAM,EAAAqI,EAAA9H,GAAuD,IAAA,GAAAtB,IAAAsF,EAAA6D,EAAApJ,EAAAU,GAAA6I,EAAAL,KAAAuM,QAAAnM,EAAAC,EAAAmM,MAAArV,EAAA,KAAoDJ,EAAA2B,QAAS,CAAElB,EAAAT,EAAAoX,MAAArX,EAAAC,EAAAoX,MAAAjO,EAAAnJ,EAAAoX,MAAA9R,EAAAtF,EAAAoX,KAAwC,IAAA/V,GAAA,GAAA8H,EAAA7I,EAAAuW,KAAA1N,EAAApJ,EAAAU,GAAAN,EAAA8I,KAAA8M,MAAAzV,GAAAsI,EAAAO,IAAAG,EAAAsM,QAAA,EAAAtM,EAAAuM,WAAAxU,EAAAiI,EAAAwM,OAAoF,KAAA3V,IAAAkJ,EAAA,GAAAqM,QAAAC,KAAA,YAAAxV,EAAA8I,KAAA8M,MAAAzV,GAAA4W,WAAA5R,EAAAjE,EAAAtB,EAAAU,EAAAmI,EAAAO,IAAAG,EAAAsM,SAAA3M,KAAA+M,WAAAnS,MAAgH0N,EAAApI,EAAAqB,EAAAzK,EAAAqK,EAAA3J,IAAY4I,GAAA,CAAMA,EAAA,IAAAqM,QAAAV,IAAA,4DAAA7L,EAAApJ,EAAAU,EAAAN,EAAAsW,YAAAtW,EAAAuW,UAAAvW,EAAAkX,eAAA3B,QAAAO,QAAA,YAA4J,IAAA9L,GAAA,IAAAhB,CAAYF,MAAAyD,MAAAvC,IAAAlB,KAAAyD,MAAAvC,IAAA,GAAA,EAAAlB,KAAAmN,QAAgD,GAAAjW,EAAA8E,OAAAK,EAAAvE,EAAA,CAAiB,GAAAoI,IAAAG,EAAAsM,SAAAzM,IAAApI,EAAA,QAAiC,IAAAyJ,GAAA,GAAAzJ,EAAAoI,CAAa,IAAApJ,IAAA+J,KAAAwN,MAAAlO,EAAAoB,IAAA/J,IAAAqJ,KAAAwN,MAAAhW,EAAAkJ,GAAA,aAAqD,IAAArB,IAAAG,EAAA4M,cAAA/V,EAAAuW,WAAApN,EAAA6M,eAAA,QAAmE,IAAA7M,EAAA6N,gBAAAJ,gBAAA5W,EAAAmJ,EAAAwM,OAAAxM,EAAAgN,QAAA,CAA2DnW,EAAA8E,OAAA,KAAAoE,EAAA,GAAAqM,QAAAC,KAAA,WAA4C,IAAAjL,GAAAT,EAAAC,EAAAqN,EAAA9M,EAAAL,EAAAiK,EAAA,GAAA/K,EAAAgN,OAAAhN,EAAAwM,OAAAhL,EAAA,GAAAuJ,EAAArJ,EAAA,GAAAqJ,EAAAhK,EAAA,EAAAgK,CAA2D3J,GAAAT,EAAAC,EAAAqN,EAAA,KAAA9M,EAAAoJ,KAAAvO,EAAAjE,EAAAtB,EAAAsU,EAAAtU,EAAAiL,EAAA,EAAAuL,WAAApW,EAAA2T,IAAA,GAAA3T,EAAAoN,IAAA,IAAAnD,EAAAyJ,KAAAvO,EAAAjE,EAAAtB,EAAA+K,EAAA/K,EAAAsK,EAAA,EAAAkM,WAAApW,EAAA2T,IAAA,GAAA3T,EAAAoN,IAAA,IAAA9C,IAAAC,EAAAmJ,KAAApJ,EAAApJ,EAAAZ,EAAA4T,EAAA5T,EAAAuK,EAAA,EAAA8L,WAAA3W,EAAA2T,IAAA,GAAA3T,EAAAoN,IAAA,IAAAtD,EAAA4J,KAAApJ,EAAApJ,EAAAZ,EAAAqK,EAAArK,EAAA4J,EAAA,EAAAyM,WAAA3W,EAAA2T,IAAA,GAAA3T,EAAAoN,IAAA,KAAAnD,IAAAF,EAAA2J,KAAAzJ,EAAA/I,EAAAZ,EAAA4T,EAAA5T,EAAAuK,EAAA,EAAA8L,WAAA3W,EAAA2T,IAAA,GAAA3T,EAAAoN,IAAA,IAAAgK,EAAA1D,KAAAzJ,EAAA/I,EAAAZ,EAAAqK,EAAArK,EAAA4J,EAAA,EAAAyM,WAAA3W,EAAA2T,IAAA,GAAA3T,EAAAoN,IAAA,KAAAlE,EAAA,GAAAqM,QAAAO,QAAA,YAAA3Q,EAAA3D,SAAA3B,EAAA6D,KAAA6G,MAAAvB,EAAA,EAAA,EAAApJ,EAAA,EAAAU,GAAAT,EAAA6D,KAAAoG,MAAAd,EAAA,EAAA,EAAApJ,EAAA,EAAAU,EAAA,GAAAT,EAAA6D,KAAAqG,MAAAf,EAAA,EAAA,EAAApJ,EAAA,EAAA,EAAAU,GAAAT,EAAA6D,KAAA0T,MAAApO,EAAA,EAAA,EAAApJ,EAAA,EAAA,EAAAU,EAAA,QAAseM,KAAAX,EAAA+I,GAAc,MAAA/I,IAASmV,UAAApU,UAAAqW,QAAA,SAAAlS,EAAA6D,EAAApJ,GAA6C,GAAAU,GAAAwI,KAAAuM,QAAAzU,EAAAN,EAAAqV,OAAA1M,EAAA3I,EAAAgV,MAAAnU,EAAA,GAAAgE,EAA2DtF,EAAA6W,KAAAvR,EAAZ6D,GAAAA,EAAA7H,EAAAA,GAAAA,EAAYvB,EAAkB,IAAAkJ,KAAA8M,MAAA/V,GAAA,MAAAgX,WAAAS,KAAAxO,KAAA8M,MAAA/V,GAAAe,EAAwDqI,GAAA,GAAAsM,QAAAV,IAAA,6BAAA1P,EAAA6D,EAAApJ,EAAqD,KAAA,GAAAuJ,GAAAD,EAAA/D,EAAAlF,EAAA+I,EAAA9H,EAAAtB,GAAsBuJ,GAAAD,EAAA,GAAQA,IAAAjJ,EAAA0J,KAAAwN,MAAAlX,EAAA,GAAAiB,EAAAyI,KAAAwN,MAAAjW,EAAA,GAAAiI,EAAAL,KAAA8M,MAAAc,KAAAxN,EAAAjJ,EAAAiB,GAAmE,KAAAiI,IAAAA,EAAArE,OAAA,MAAA,KAA6B,IAAAmE,EAAA,GAAAsM,QAAAV,IAAA,8BAAA3L,EAAAjJ,EAAAiB,GAAA0V,gBAAAzN,EAAAvI,EAAAN,EAAA6V,QAAA,MAAAU,WAAAS,KAAAnO,EAAAvI,EAAkHqI,GAAA,GAAAsM,QAAAC,KAAA,gBAAmC,IAAArV,GAAA2I,KAAAuN,UAAAlN,EAAArE,OAAAoE,EAAAjJ,EAAAiB,EAAAiE,EAAA6D,EAAApJ,EAA2C,IAAAqJ,EAAA,GAAAsM,QAAAO,QAAA,iBAAA,OAAA3V,EAAA,CAAmD,GAAAH,GAAA,GAAAmF,EAAAhF,CAAaN,GAAA6W,KAAAvW,EAAAwJ,KAAAwN,MAAAnO,EAAAhJ,GAAA2J,KAAAwN,MAAAvX,EAAAI,IAA0C,MAAA8I,MAAA8M,MAAA/V,GAAAgX,UAAAS,KAAAxO,KAAA8M,MAAA/V,GAAAe,GAAA,QACtnH2W,SAAA,EAAAC,YAAA,EAAAC,SAAA,GAAAC,cAAA,GAAAC,SAAA,KAAkEC,IAAA,SAAApO,QAAA7J,OAAAD,SACrE,YAAa,SAAAiV,UAAA3L,EAAApJ,GAAuB,GAAAuF,GAAAjE,EAAA+H,EAAA9H,EAAAb,EAAAV,EAAAA,EAAAsJ,EAAA,EAAAtI,EAAAoI,EAAAxH,OAAA,EAAA+I,IAA4C,KAAAvB,EAAAE,GAAA,GAAA,EAAAF,EAAApI,GAAA,GAAA,EAAwBA,GAAE,CAAE,IAAAM,EAAA,EAAAiE,EAAA+D,EAAA,EAAc/D,EAAAvE,EAAIuE,KAAA8D,EAAA4O,aAAA7O,EAAA7D,GAAA6D,EAAAE,GAAAF,EAAApI,KAAAM,IAAAC,EAAAgE,EAAAjE,EAAA+H,EAAkD/H,GAAAZ,GAAA0I,EAAA7H,GAAA,GAAAD,EAAAqJ,EAAA7G,KAAAwF,GAAAqB,EAAA7G,KAAAvC,GAAA+H,EAAA/H,IAAAP,EAAA2J,EAAA0M,MAAA/N,EAAAqB,EAAA0M,QAA+D,QAAAY,cAAA7O,EAAApJ,EAAAuF,GAA6B,GAAAjE,GAAAtB,EAAA,GAAAqJ,EAAArJ,EAAA,GAAAuB,EAAAgE,EAAA,GAAA7E,EAAA6E,EAAA,GAAAsD,EAAAO,EAAA,GAAAE,EAAAF,EAAA,GAAApI,EAAAO,EAAAD,EAAAqJ,EAAAjK,EAAA2I,CAA0D,IAAA,IAAArI,GAAA,IAAA2J,EAAA,CAAiB,GAAA1K,KAAA4I,EAAAvH,GAAAN,GAAAsI,EAAAD,GAAAsB,IAAA3J,EAAAA,EAAA2J,EAAAA,EAAkC1K,GAAA,GAAAqB,EAAAC,EAAA8H,EAAA3I,GAAAT,EAAA,IAAAqB,GAAAN,EAAAf,EAAAoJ,GAAAsB,EAAA1K,GAAmC,MAAAe,GAAA6H,EAAAvH,EAAAqJ,EAAArB,EAAAD,EAAArI,EAAAA,EAAA2J,EAAAA,EAA2B5K,OAAAD,QAAAiV,cACnbmD,IAAA,SAAAtO,QAAA7J,OAAAD,SACJ,YAAa,SAAAqX,YAAA5R,EAAAvE,EAAAqI,EAAArJ,EAAAoJ,EAAAE,GAAiC,IAAA,GAAAC,IAAW/G,YAAAmU,UAAA,EAAAW,cAAA,EAAAZ,YAAA,EAAAxR,OAAA,KAAAuF,EAAApB,EAAAgB,EAAArK,EAAAkX,GAAAlW,EAAAmX,aAAA,EAAApE,KAAA,EAAA,GAAAvG,MAAA,EAAA,IAAmHpN,EAAA,EAAKA,EAAAmF,EAAA3D,OAAWxB,IAAA,CAAKmJ,EAAAmN,cAAA0B,WAAA7O,EAAAhE,EAAAnF,GAAAgJ,EAAAE,EAAuC,IAAA/H,GAAAgE,EAAAnF,GAAA2T,IAAA9T,EAAAsF,EAAAnF,GAAAoN,GAA0BjM,GAAA,GAAAgI,EAAAwK,IAAA,KAAAxK,EAAAwK,IAAA,GAAAxS,EAAA,IAAAA,EAAA,GAAAgI,EAAAwK,IAAA,KAAAxK,EAAAwK,IAAA,GAAAxS,EAAA,IAAAtB,EAAA,GAAAsJ,EAAAiE,IAAA,KAAAjE,EAAAiE,IAAA,GAAAvN,EAAA,IAAAA,EAAA,GAAAsJ,EAAAiE,IAAA,KAAAjE,EAAAiE,IAAA,GAAAvN,EAAA,IAA4H,MAAAsJ,GAAS,QAAA6O,YAAA7S,EAAAvE,EAAAqI,EAAArJ,GAA6B,GAAAoJ,GAAAE,EAAAC,EAAAnJ,EAAAmB,EAAAP,EAAAyB,SAAAxC,EAAAe,EAAAuB,KAAA7B,KAAAmI,EAAAQ,EAAAA,CAA6C,IAAA,IAAApJ,EAAA,IAAAmJ,EAAA,EAAiBA,EAAA7H,EAAAK,OAAWwH,IAAA1I,EAAAoD,KAAAvC,EAAA6H,IAAA7D,EAAAoR,YAAApR,EAAA+R,oBAAiD,KAAAlO,EAAA,EAAaA,EAAA7H,EAAAK,OAAWwH,IAAA,GAAAG,EAAAhI,EAAA6H,GAAApJ,KAAA,IAAAC,GAAAsJ,EAAA6K,KAAA/K,GAAA,IAAApJ,GAAAsJ,EAAAuH,KAAAjI,GAAA,CAAsD,GAAAtI,KAAS,KAAA+I,EAAA,EAAQA,EAAAC,EAAA3H,OAAW0H,IAAAlJ,EAAAmJ,EAAAD,IAAAtJ,GAAAI,EAAA,GAAAyI,KAAAtI,EAAAuD,KAAA1D,GAAAmF,EAAA+R,iBAAA/R,EAAAoR,WAAoE,KAAA1W,GAAAmT,OAAA7S,EAAAgJ,EAAA8K,OAAA3T,EAAAoD,KAAAvD,OAAmCgF,GAAAoR,WAAApN,EAAA3H,MAA2B,IAAAlB,EAAAkB,OAAA,CAAa,GAAA+I,IAAOlI,SAAA/B,EAAA6B,KAAAtC,EAAAkU,KAAAnT,EAAAmT,MAAA,KAAqC,QAAAnT,EAAAsB,KAAAqI,EAAArI,GAAAtB,EAAAsB,IAAAiD,EAAA/C,SAAAsB,KAAA6G,IAA6C,QAAAyI,QAAA7N,EAAAvE,GAAqBwP,WAAAjL,GAAoB,IAAAvE,GAAAuE,EAAAmO,UAAqB,QAAAlD,YAAAjL,GAAuB,IAAA,GAAAvE,GAAAqI,EAAArJ,EAAA,EAAAoJ,EAAA,EAAAE,EAAA/D,EAAA3D,OAAA2H,EAAAD,EAAA,EAAqCF,EAAAE,EAAIC,EAAAH,IAAApI,EAAAuE,EAAA6D,GAAAC,EAAA9D,EAAAgE,GAAAvJ,IAAAqJ,EAAA,GAAArI,EAAA,KAAAA,EAAA,GAAAqI,EAAA,GAA+C,OAAArJ,GAASD,OAAAD,QAAAqX,gBACliCkB,IAAA,SAAAzO,QAAA7J,OAAAD,SACJ,YAAa,SAAAwY,eAAAjP,EAAAD,GAA4B,GAAAC,EAAA8O,YAAA,MAAA9O,EAA0B,IAAArI,GAAAuE,EAAA7E,EAAAmI,EAAAQ,EAAA6N,GAAA3N,EAAAF,EAAAoB,EAAAlJ,EAAA8H,EAAAgB,CAA6B,KAAArJ,EAAA,EAAQA,EAAAqI,EAAA7G,SAAAZ,OAAoBZ,IAAA,CAAK,GAAAhB,GAAAqJ,EAAA7G,SAAAxB,GAAAsI,EAAAtJ,EAAAyC,QAA0C,IAAA,IAA1CzC,EAAAuC,KAA0C,IAAAgD,EAAA,EAAiBA,EAAA+D,EAAA1H,OAAW2D,IAAA+D,EAAA/D,GAAAgT,eAAAjP,EAAA/D,GAAA6D,EAAAP,EAAAU,EAAAhI,OAAsC,KAAAgE,EAAA,EAAaA,EAAA+D,EAAA1H,OAAW2D,IAAA,CAAK,GAAAtF,GAAAqJ,EAAA/D,EAAW,KAAA7E,EAAA,EAAQA,EAAAT,EAAA2B,OAAWlB,IAAAT,EAAAS,GAAA6X,eAAAtY,EAAAS,GAAA0I,EAAAP,EAAAU,EAAAhI,IAAuC,MAAA8H,GAAA8O,aAAA,EAAA9O,EAA0B,QAAAkP,gBAAAlP,EAAAD,EAAApI,EAAAuE,EAAA7E,GAA6F,OAA1DqJ,KAAAyO,MAAApP,GAAAC,EAAA,GAAArI,EAAAuE,IAAAwE,KAAAyO,MAAApP,GAAAC,EAAA,GAAArI,EAAAN,KAAsEZ,QAAA4X,KAAAY,cAAAxY,QAAA2F,MAAA8S,oBAC9cE,IAAA,SAAA7O,QAAA7J,OAAAD,SACJ,YAAa,SAAAwW,MAAAjN,EAAA9D,EAAA6D,GAAqB,GAAA1I,GAAA2I,EAAAE,EAAAuK,KAAAzK,EAAA,GAAA,EAAA9D,EAAAA,EAAA,EAAA6D,GAAA,EAAA,GAAA7H,EAAAuS,KAAAzK,EAAA,EAAA,EAAA9D,EAAA,EAAAA,EAAA,EAAA6D,GAAA,EAAA,EAAiE,QAAAG,GAAAhI,KAAAb,EAAAoT,KAAAzK,EAAA,GAAA9D,EAAA,EAAAA,EAAA,EAAA6D,GAAA,EAAA,OAAAG,IAAA7I,EAAAgY,mBAAAnP,EAAA,GAAA4D,OAAAzM,IAAAa,IAAAb,EAAAA,EAAAyM,OAAAuL,mBAAAnX,GAAA,MAAAb,EAAqI,QAAAgY,oBAAArP,EAAA9D,GAAiC,IAAA,GAAA6D,MAAA1I,EAAA,EAAiBA,EAAA2I,EAAAzH,OAAWlB,IAAA,CAAK,GAAA6I,GAAAhI,EAAA8H,EAAA3I,GAAAV,EAAAuB,EAAAgB,IAAsB,IAAA,IAAAvC,EAAAuJ,EAAAoP,YAAApX,EAAAkB,SAAA8C,OAAqC,CAAKgE,IAAK,KAAA,GAAAD,GAAA,EAAYA,EAAA/H,EAAAkB,SAAAb,OAAoB0H,IAAAC,EAAAzF,KAAA6U,YAAApX,EAAAkB,SAAA6G,GAAA/D,IAAyC6D,EAAAtF,KAAAoQ,cAAA3S,EAAA4S,KAAAnU,EAAAuJ,EAAAhI,EAAAe,KAAuC,MAAA8G,GAAS,QAAAuP,aAAAtP,EAAA9D,GAA0B,GAAA6D,KAASA,GAAA0H,KAAAzH,EAAAyH,KAAA1H,EAAAgL,KAAA/K,EAAA+K,IAA4B,KAAA,GAAA1T,GAAA,EAAYA,EAAA2I,EAAAzH,OAAWlB,IAAA0I,EAAAtF,MAAAuF,EAAA3I,GAAA,GAAA6E,EAAA8D,EAAA3I,GAAA,GAAA2I,EAAA3I,GAAA,IAAwC,OAAA0I,GAAS,GAAA0K,MAAAlK,QAAA,UAAAsK,cAAAtK,QAAA,YAA8D7J,QAAAD,QAAAwW,OAC1qBqB,SAAA,EAAAnD,YAAA,KAA0BoE,IAAA,SAAAhP,QAAA7J,OAAAD,SAC7B,YAAa,SAAA+Y,WAAAzP,EAAAC,EAAA9D,GAA0B,GAAAhE,GAAA2H,KAAA4P,QAAoB,IAAA1P,YAAA2P,aAAA,CAA6B7P,KAAA8P,YAAA5P,CAAmB,IAAApJ,GAAA,GAAAiZ,YAAA/P,KAAA8P,YAAuC5P,GAAApJ,EAAA,GAAAqJ,EAAArJ,EAAA,GAAAuF,EAAAvF,EAAA,GAAAkJ,KAAA3I,EAAA8I,EAAA,EAAA9D,CAAkC,KAAA,GAAA6E,GAAA,EAAYA,EAAAlB,KAAA3I,EAAA2I,KAAA3I,EAAgB6J,IAAA,CAAK,GAAApJ,GAAAhB,EAAAkZ,WAAA9O,GAAA1J,EAAAV,EAAAkZ,WAAA9O,EAAA,EAA0C7I,GAAAuC,KAAA9C,IAAAN,EAAA,KAAAV,EAAAmZ,SAAAnY,EAAAN,IAAmC,GAAAT,GAAAD,EAAAkZ,WAAA3X,EAAAK,QAAA2H,EAAAvJ,EAAAkZ,WAAA3X,EAAAK,OAAA,EAAwDsH,MAAAkQ,KAAApZ,EAAAmZ,SAAAlZ,EAAAsJ,GAAAL,KAAAmQ,OAAArZ,EAAAmZ,SAAA5P,GAAAL,KAAAoQ,OAAApQ,KAAAqQ,oBAAqF,CAAKrQ,KAAA3I,EAAA8I,EAAA,EAAA9D,CAAa,KAAA,GAAAhF,GAAA,EAAYA,EAAA2I,KAAA3I,EAAA2I,KAAA3I,EAAgBA,IAAAgB,EAAAuC,QAAeoF,MAAAkQ,QAAAlQ,KAAAmQ,UAA4BnQ,KAAAlI,EAAAqI,EAAAH,KAAA6M,OAAA3M,EAAAF,KAAA3C,QAAAhB,EAAA2D,KAAAwC,MAAArC,EAAAD,EAAAF,KAAAsQ,IAAA,CAAgE,IAAA3Q,GAAAtD,EAAA8D,EAAAD,CAAYF,MAAA6K,KAAAlL,EAAAK,KAAAsE,IAAApE,EAAAP,EAAyB9I,OAAAD,QAAA+Y,SAAyB,IAAAK,YAAA,CAAiBL,WAAAzX,UAAAkY,OAAA,SAAAlQ,EAAAC,EAAA9D,EAAAhE,EAAAvB,GAA+CkJ,KAAAuQ,aAAApQ,EAAA9D,EAAAhE,EAAAvB,EAAAkJ,KAAAwQ,YAAAxQ,KAAAsQ,OAAAtQ,KAAAkQ,KAAAtV,KAAAsF,GAAAF,KAAAmQ,OAAAvV,KAAAuF,GAAAH,KAAAmQ,OAAAvV,KAAAyB,GAAA2D,KAAAmQ,OAAAvV,KAAAvC,GAAA2H,KAAAmQ,OAAAvV,KAAA9D,IAAyJ6Y,UAAAzX,UAAAmY,gBAAA,WAAgD,KAAA,+DAAmEV,UAAAzX,UAAAsY,YAAA,SAAAtQ,EAAAC,EAAA9D,EAAAhE,EAAAvB,EAAAoK,GAAuDlB,KAAA4P,MAAA9Y,GAAA8D,KAAAsG,IAAsByO,UAAAzX,UAAAuY,MAAA,SAAAvQ,EAAAC,EAAA9D,EAAAhE,GAA6C,GAAAvB,GAAAkJ,KAAA6K,IAAA3J,EAAAlB,KAAAsE,GAA0B,IAAApE,GAAApJ,GAAAqJ,GAAArJ,GAAAoK,GAAA7E,GAAA6E,GAAA7I,EAAA,MAAAqY,OAAAxY,UAAA6F,MAAA9G,KAAA+I,KAAAkQ,KAAuE,IAAApY,MAAAN,IAAc,OAAAwI,MAAAuQ,aAAArQ,EAAAC,EAAA9D,EAAAhE,EAAA2H,KAAA2Q,WAAA7Y,EAAAN,GAAAM,GAAwD6X,UAAAzX,UAAAyY,WAAA,SAAAzQ,EAAAC,EAAA9D,EAAAhE,EAAAvB,EAAAoK,EAAApJ,GAAwD,GAAAN,GAAAwI,KAAA4P,MAAA9Y,EAAoB,IAAA,OAAAU,EAAA,IAAA,GAAAT,GAAAiJ,KAAAkQ,KAAA7P,EAAAL,KAAAmQ,OAAA9Y,EAAA,EAAkDA,EAAAG,EAAAkB,OAAWrB,IAAA,CAAK,GAAAsI,GAAAnI,EAAAH,EAAW,QAAA,KAAAS,EAAA6H,GAAA,CAAkB,GAAAS,GAAA,EAAAT,CAAUO,IAAAG,EAAAD,EAAA,IAAAD,GAAAE,EAAAD,EAAA,IAAA/D,GAAAgE,EAAAD,EAAA,IAAA/H,GAAAgI,EAAAD,EAAA,IAAAtI,EAAA6H,IAAA,EAAAuB,EAAAtG,KAAA7D,EAAA4I,KAAA7H,EAAA6H,IAAA,KAA4EgQ,UAAAzX,UAAAqY,aAAA,SAAArQ,EAAAC,EAAA9D,EAAAhE,EAAAvB,EAAAoK,EAAApJ,GAA0D,IAAA,GAAAN,GAAAwI,KAAA4Q,oBAAA1Q,GAAAnJ,EAAAiJ,KAAA4Q,oBAAAzQ,GAAAE,EAAAL,KAAA4Q,oBAAAvU,GAAAhF,EAAA2I,KAAA4Q,oBAAAvY,GAAAsH,EAAAnI,EAAoImI,GAAAU,EAAKV,IAAA,IAAA,GAAAS,GAAArJ,EAAgBqJ,GAAA/I,EAAK+I,IAAA,CAAK,GAAAe,GAAAnB,KAAA3I,EAAA+I,EAAAT,CAAiB,IAAA7I,EAAAG,KAAA+I,KAAAE,EAAAC,EAAA9D,EAAAhE,EAAA8I,EAAAD,EAAApJ,GAAA,SAAsC6X,UAAAzX,UAAA0Y,oBAAA,SAAA1Q,GAAqD,MAAAW,MAAAyD,IAAA,EAAAzD,KAAAgK,IAAA7K,KAAA3I,EAAA,EAAAwJ,KAAAwN,MAAAnO,EAAAF,KAAAwC,OAAAxC,KAAA3C,WAA4EsS,UAAAzX,UAAA2Y,cAAA,WAA8C,GAAA7Q,KAAA8P,YAAA,MAAA9P,MAAA8P,WAA4C,KAAA,GAAA5P,GAAAF,KAAA4P,MAAAzP,EAAA6P,WAAAhQ,KAAA4P,MAAAlX,OAAA,EAAA,EAAA2D,EAAA,EAAAhE,EAAA,EAAgEA,EAAA2H,KAAA4P,MAAAlX,OAAoBL,IAAAgE,GAAA2D,KAAA4P,MAAAvX,GAAAK,MAA4B,IAAA5B,GAAA,GAAAiZ,YAAA5P,EAAA9D,EAAA2D,KAAAkQ,KAAAxX,OAAAsH,KAAAmQ,OAAAzX,OAA8D5B,GAAA,GAAAkJ,KAAA6M,OAAA/V,EAAA,GAAAkJ,KAAAlI,EAAAhB,EAAA,GAAAkJ,KAAA3C,OAA+C,KAAA,GAAA6D,GAAAf,EAAArI,EAAA,EAAgBA,EAAAoI,EAAAxH,OAAWZ,IAAA,CAAK,GAAAN,GAAA0I,EAAApI,EAAWhB,GAAAkZ,WAAAlY,GAAAoJ,EAAApK,EAAAga,IAAAtZ,EAAA0J,GAAAA,GAAA1J,EAAAkB,OAAyC,MAAA5B,GAAAkZ,WAAA9P,EAAAxH,QAAAwI,EAAApK,EAAAga,IAAA9Q,KAAAkQ,KAAAhP,GAAAA,GAAAlB,KAAAkQ,KAAAxX,OAAA5B,EAAAkZ,WAAA9P,EAAAxH,OAAA,GAAAwI,EAAApK,EAAAga,IAAA9Q,KAAAmQ,OAAAjP,GAAAA,GAAAlB,KAAAmQ,OAAAzX,OAAA5B,EAAAuW,aAChxE0D,IAAA,SAAArQ,QAAA7J,OAAAD,SACJA,QAAAoa,KAAA,SAAA3Q,EAAA7I,EAAA0I,EAAAC,EAAAe,GAAiC,GAAAD,GAAA7I,EAAAgJ,EAAA,EAAAF,EAAAf,EAAA,EAAAR,GAAA,GAAAyB,GAAA,EAAA/E,EAAAsD,GAAA,EAAA7I,GAAA,EAAAma,EAAA/Q,EAAAgB,EAAA,EAAA,EAAApJ,EAAAoI,GAAA,EAAA,EAAA7H,EAAAgI,EAAA7I,EAAAyZ,EAAqE,KAAAA,GAAAnZ,EAAAmJ,EAAA5I,GAAA,IAAAvB,GAAA,EAAAuB,KAAAvB,EAAAA,GAAAsK,EAAmCtK,EAAA,EAAImK,EAAA,IAAAA,EAAAZ,EAAA7I,EAAAyZ,GAAAA,GAAAnZ,EAAAhB,GAAA,GAA0B,IAAAsB,EAAA6I,GAAA,IAAAnK,GAAA,EAAAmK,KAAAnK,EAAAA,GAAAqJ,EAA8BrJ,EAAA,EAAIsB,EAAA,IAAAA,EAAAiI,EAAA7I,EAAAyZ,GAAAA,GAAAnZ,EAAAhB,GAAA,GAA0B,GAAA,IAAAmK,EAAAA,EAAA,EAAA5E,MAAe,CAAK,GAAA4E,IAAAtB,EAAA,MAAAvH,GAAA8Y,IAAA,EAAA,GAAA7Y,GAAA,EAAA,EAAqCD,IAAAyI,KAAA+F,IAAA,EAAAzG,GAAAc,GAAA5E,EAAsB,OAAAhE,GAAA,EAAA,GAAAD,EAAAyI,KAAA+F,IAAA,EAAA3F,EAAAd,IAAiCvJ,QAAAua,MAAA,SAAA9Q,EAAA7I,EAAA0I,EAAAC,EAAAe,EAAAD,GAAqC,GAAA7I,GAAAgJ,EAAAzB,EAAAtD,EAAA,EAAA4E,EAAAC,EAAA,EAAApK,GAAA,GAAAuF,GAAA,EAAA4U,EAAAna,GAAA,EAAAgB,EAAA,KAAAoJ,EAAAL,KAAA+F,IAAA,GAAA,IAAA/F,KAAA+F,IAAA,GAAA,IAAA,EAAAvO,EAAA8H,EAAA,EAAAc,EAAA,EAAAb,EAAAD,EAAA,GAAA,EAAApJ,EAAAS,EAAA,GAAA,IAAAA,GAAA,EAAAA,EAAA,EAAA,EAAA,CAA4H,KAAAA,EAAAqJ,KAAAsF,IAAA3O,GAAA4Z,MAAA5Z,IAAAA,IAAA,EAAA,GAAA4J,EAAAgQ,MAAA5Z,GAAA,EAAA,EAAAY,EAAAtB,IAAAsB,EAAAyI,KAAAwN,MAAAxN,KAAAkL,IAAAvU,GAAAqJ,KAAAwQ,KAAA7Z,GAAAmI,EAAAkB,KAAA+F,IAAA,GAAAxO,IAAA,IAAAA,IAAAuH,GAAA,IAAAnI,GAAAY,EAAA6Y,GAAA,EAAAnZ,EAAA6H,EAAA7H,EAAA+I,KAAA+F,IAAA,EAAA,EAAAqK,IAAAtR,GAAA,IAAAvH,IAAAuH,GAAA,GAAAvH,EAAA6Y,GAAAna,GAAAsK,EAAA,EAAAhJ,EAAAtB,GAAAsB,EAAA6Y,GAAA,GAAA7P,GAAA5J,EAAAmI,EAAA,GAAAkB,KAAA+F,IAAA,EAAA1F,GAAA9I,GAAA6Y,IAAA7P,EAAA5J,EAAAqJ,KAAA+F,IAAA,EAAAqK,EAAA,GAAApQ,KAAA+F,IAAA,EAAA1F,GAAA9I,EAAA,IAAmR8I,GAAA,EAAKb,EAAAH,EAAA7H,GAAA,IAAA+I,EAAA/I,GAAA+H,EAAAgB,GAAA,IAAAF,GAAA,GAA+B,IAAA9I,EAAAA,GAAA8I,EAAAE,EAAA/E,GAAA6E,EAAkB7E,EAAA,EAAIgE,EAAAH,EAAA7H,GAAA,IAAAD,EAAAC,GAAA+H,EAAAhI,GAAA,IAAAiE,GAAA,GAA+BgE,EAAAH,EAAA7H,EAAA+H,IAAA,IAAArJ,QAC51Bua,IAAA,SAAA5Q,QAAA7J,OAAAD,SACJ,YAAa,SAAA2a,QAAArR,EAAApJ,EAAAuF,EAAAhE,EAAAP,GAA2B,MAAA,IAAA0Z,QAAAtR,EAAApJ,EAAAuF,EAAAhE,EAAAP,GAA6B,QAAA0Z,QAAAtR,EAAApJ,EAAAuF,EAAAhE,EAAAP,GAA2BhB,EAAAA,GAAA2a,YAAApV,EAAAA,GAAAqV,YAAA5Z,EAAAA,GAAA4Y,MAAA1Q,KAAA2R,SAAAtZ,GAAA,GAAA2H,KAAA4R,OAAA1R,EAAAF,KAAA6R,IAAA,GAAA/Z,GAAAoI,EAAAxH,QAAAsH,KAAAhF,OAAA,GAAAlD,GAAA,EAAAoI,EAAAxH,OAAsI,KAAA,GAAAyH,GAAA,EAAYA,EAAAD,EAAAxH,OAAWyH,IAAAH,KAAA6R,IAAA1R,GAAAA,EAAAH,KAAAhF,OAAA,EAAAmF,GAAArJ,EAAAoJ,EAAAC,IAAAH,KAAAhF,OAAA,EAAAmF,EAAA,GAAA9D,EAAA6D,EAAAC,GAAsE0I,MAAA7I,KAAA6R,IAAA7R,KAAAhF,OAAAgF,KAAA2R,SAAA,EAAA3R,KAAA6R,IAAAnZ,OAAA,EAAA,GAA+D,QAAA+Y,aAAAvR,GAAwB,MAAAA,GAAA,GAAY,QAAAwR,aAAAxR,GAAwB,MAAAA,GAAA,GAAY,GAAA2I,MAAAnI,QAAA,UAAAoR,MAAApR,QAAA,WAAAqR,OAAArR,QAAA,WAA+E7J,QAAAD,QAAA2a,OAAAC,OAAAtZ,WAAwC4Z,MAAA,SAAA5R,EAAApJ,EAAAuF,EAAAhE,GAAwB,MAAAyZ,OAAA9R,KAAA6R,IAAA7R,KAAAhF,OAAAkF,EAAApJ,EAAAuF,EAAAhE,EAAA2H,KAAA2R,WAAyDI,OAAA,SAAA7R,EAAApJ,EAAAuF,GAAwB,MAAA0V,QAAA/R,KAAA6R,IAAA7R,KAAAhF,OAAAkF,EAAApJ,EAAAuF,EAAA2D,KAAA2R,cACvqBK,UAAA,GAAAC,SAAA,GAAAC,WAAA,KAAuCC,IAAA,SAAAzR,QAAA7J,OAAAD,SAC1C,YAAa,SAAAkb,OAAA1Z,EAAA+H,EAAA9H,EAAA+H,EAAAc,EAAA7E,EAAA7E,GAA8B,IAAA,GAAA6I,GAAAH,EAAApI,GAAA,EAAAM,EAAAM,OAAA,EAAA,GAAAiH,KAAoC7H,EAAAY,QAAS,CAAE,GAAA3B,GAAAe,EAAAqW,MAAAnN,EAAAlJ,EAAAqW,MAAA1M,EAAA3J,EAAAqW,KAAkC,IAAAnN,EAAAS,GAAAjK,EAAA,IAAA,GAAAV,GAAA2K,EAAsB3K,GAAAkK,EAAKlK,IAAAuJ,EAAAF,EAAA,EAAArJ,GAAAoJ,EAAAC,EAAA,EAAArJ,EAAA,GAAAuJ,GAAAhI,GAAAgI,GAAAa,GAAAhB,GAAAE,GAAAF,GAAA7D,GAAAsD,EAAA/E,KAAAxC,EAAAtB,QAA6D,CAAK,GAAAK,GAAA0J,KAAAwN,OAAA5M,EAAAT,GAAA,EAA0BX,GAAAF,EAAA,EAAAhJ,GAAA+I,EAAAC,EAAA,EAAAhJ,EAAA,GAAAkJ,GAAAhI,GAAAgI,GAAAa,GAAAhB,GAAAE,GAAAF,GAAA7D,GAAAsD,EAAA/E,KAAAxC,EAAAjB,GAAyD,IAAAE,IAAAN,EAAA,GAAA,GAAc,IAAAA,EAAAsB,GAAAgI,EAAAD,GAAAF,KAAApI,EAAA8C,KAAA6G,GAAA3J,EAAA8C,KAAAzD,EAAA,GAAAW,EAAA8C,KAAAvD,KAAA,IAAAN,EAAAmK,GAAAb,EAAAhE,GAAA6D,KAAApI,EAAA8C,KAAAzD,EAAA,GAAAW,EAAA8C,KAAAoG,GAAAlJ,EAAA8C,KAAAvD,KAA2G,MAAAsI,GAAS9I,OAAAD,QAAAkb,WAC1aM,IAAA,SAAA1R,QAAA7J,OAAAD,SACJ,YAAa,SAAAyb,QAAAnS,EAAAG,EAAA7I,EAAAa,EAAA8H,EAAA9D,GAA6B,KAAA8D,EAAA9H,GAAAb,GAAA,CAAc,GAAAmI,GAAAkB,KAAAwN,OAAAhW,EAAA8H,GAAA,EAA0BmS,QAAApS,EAAAG,EAAAV,EAAAtH,EAAA8H,EAAA9D,EAAA,GAAAgW,OAAAnS,EAAAG,EAAA7I,EAAAa,EAAAsH,EAAA,EAAAtD,EAAA,GAAAgW,OAAAnS,EAAAG,EAAA7I,EAAAmI,EAAA,EAAAQ,EAAA9D,EAAA,IAAuE,QAAAiW,QAAApS,EAAAG,EAAA7I,EAAAa,EAAA8H,EAAA9D,GAA6B,KAAK8D,EAAA9H,GAAI,CAAE,GAAA8H,EAAA9H,EAAA,IAAA,CAAY,GAAAsH,GAAAQ,EAAA9H,EAAA,EAAAD,EAAAZ,EAAAa,EAAA,EAAA+I,EAAAP,KAAAkL,IAAApM,GAAAzI,EAAA,GAAA2J,KAAA0R,IAAA,EAAAnR,EAAA,GAAAtJ,EAAA,GAAA+I,KAAA2R,KAAApR,EAAAlK,GAAAyI,EAAAzI,GAAAyI,IAAAvH,EAAAuH,EAAA,EAAA,GAAA,EAAA,EAA8K2S,QAAApS,EAAAG,EAAA7I,EAA9KqJ,KAAAyD,IAAAjM,EAAAwI,KAAAwN,MAAA7W,EAAAY,EAAAlB,EAAAyI,EAAA7H,IAAA+I,KAAAgK,IAAA1K,EAAAU,KAAAwN,MAAA7W,GAAAmI,EAAAvH,GAAAlB,EAAAyI,EAAA7H,IAA8KuE,GAAoB,GAAAvF,GAAAuJ,EAAA,EAAA7I,EAAA6E,GAAAtF,EAAAsB,EAAA4I,EAAAd,CAAuB,KAAAsS,SAAAvS,EAAAG,EAAAhI,EAAAb,GAAA6I,EAAA,EAAAF,EAAA9D,GAAAvF,GAAA2b,SAAAvS,EAAAG,EAAAhI,EAAA8H,GAAoDpJ,EAAAkK,GAAI,CAAE,IAAAwR,SAAAvS,EAAAG,EAAAtJ,EAAAkK,GAAAlK,IAAAkK,IAA8BZ,EAAA,EAAAtJ,EAAAsF,GAAAvF,GAAWC,GAAK,MAAKsJ,EAAA,EAAAY,EAAA5E,GAAAvF,GAAWmK,IAAKZ,EAAA,EAAAhI,EAAAgE,KAAAvF,EAAA2b,SAAAvS,EAAAG,EAAAhI,EAAA4I,IAAAA,IAAAwR,SAAAvS,EAAAG,EAAAY,EAAAd,IAAAc,GAAAzJ,IAAAa,EAAA4I,EAAA,GAAAzJ,GAAAyJ,IAAAd,EAAAc,EAAA,IAAoF,QAAAwR,UAAAvS,EAAAG,EAAA7I,EAAAa,GAA2Bqa,KAAAxS,EAAA1I,EAAAa,GAAAqa,KAAArS,EAAA,EAAA7I,EAAA,EAAAa,GAAAqa,KAAArS,EAAA,EAAA7I,EAAA,EAAA,EAAAa,EAAA,GAAgD,QAAAqa,MAAAxS,EAAAG,EAAA7I,GAAqB,GAAAa,GAAA6H,EAAAG,EAAWH,GAAAG,GAAAH,EAAA1I,GAAA0I,EAAA1I,GAAAa,EAAiBxB,OAAAD,QAAAyb,YAC/uBM,IAAA,SAAAjS,QAAA7J,OAAAD,SACJ,YAAa,SAAAmb,QAAA1Z,EAAAD,EAAA+H,EAAAD,EAAAE,EAAAc,GAA6B,IAAA,GAAApK,IAAA,EAAAuB,EAAAK,OAAA,EAAA,GAAAlB,KAAAM,EAAAsI,EAAAA,EAAsCtJ,EAAA4B,QAAS,CAAE,GAAA2D,GAAAvF,EAAAqX,MAAA9N,EAAAvJ,EAAAqX,MAAAxO,EAAA7I,EAAAqX,KAAkC,IAAA9N,EAAAV,GAAAuB,EAAA,IAAA,GAAAF,GAAArB,EAAsBqB,GAAAX,EAAKW,IAAA4R,OAAAxa,EAAA,EAAA4I,GAAA5I,EAAA,EAAA4I,EAAA,GAAAb,EAAAD,IAAApI,GAAAN,EAAAoD,KAAAvC,EAAA2I,QAAiD,CAAK,GAAAjK,GAAA8J,KAAAwN,OAAA1O,EAAAU,GAAA,GAAAlJ,EAAAiB,EAAA,EAAArB,GAAAgL,EAAA3J,EAAA,EAAArB,EAAA,EAA8C6b,QAAAzb,EAAA4K,EAAA5B,EAAAD,IAAApI,GAAAN,EAAAoD,KAAAvC,EAAAtB,GAAiC,IAAA8b,IAAAxW,EAAA,GAAA,GAAc,IAAAA,EAAA8D,EAAAC,GAAAjJ,EAAA+I,EAAAE,GAAA2B,KAAAjL,EAAA8D,KAAA+E,GAAA7I,EAAA8D,KAAA7D,EAAA,GAAAD,EAAA8D,KAAAiY,KAAA,IAAAxW,EAAA8D,EAAAC,GAAAjJ,EAAA+I,EAAAE,GAAA2B,KAAAjL,EAAA8D,KAAA7D,EAAA,GAAAD,EAAA8D,KAAAyF,GAAAvJ,EAAA8D,KAAAiY,KAAmH,MAAArb,GAAS,QAAAob,QAAAva,EAAAD,EAAA+H,EAAAD,GAAyB,GAAAE,GAAA/H,EAAA8H,EAAAe,EAAA9I,EAAA8H,CAAgB,OAAAE,GAAAA,EAAAc,EAAAA,EAAerK,OAAAD,QAAAmb,YAC3de,IAAA,SAAApS,QAAA7J,OAAAD,SACJ,YAAa,SAAAmc,aAAA1W,GAAwB,SAAA2W,aAAAC,oBAAAC,uBAAAC,qBAAAC,mBAAAC,qBAAAC,gCAAAC,uBAAAlX,GAAAA,EAAAmX,+BAAyN,QAAAR,aAAqB,MAAA,mBAAA7Z,SAAA,mBAAAqF,UAA+D,QAAAyU,oBAA4B,MAAAvC,OAAAxY,WAAAwY,MAAAxY,UAAAub,OAAA/C,MAAAxY,UAAAwb,QAAAhD,MAAAxY,UAAAyb,SAAAjD,MAAAxY,UAAA0b,SAAAlD,MAAAxY,UAAA2b,aAAAnD,MAAAxY,UAAA+C,KAAAyV,MAAAxY,UAAA4b,MAAApD,MAAAxY,UAAA6b,QAAArD,MAAAxY,UAAA8b,aAAAtD,MAAAuD,QAAoQ,QAAAf,uBAA+B,MAAAgB,UAAAhc,WAAAgc,SAAAhc,UAAAic,KAAmD,QAAAhB,qBAA6B,MAAA1b,QAAAyY,MAAAzY,OAAA6K,QAAA7K,OAAA2c,gBAAA3c,OAAA4c,qBAAA5c,OAAA6c,UAAA7c,OAAA8c,UAAA9c,OAAA+c,cAAA/c,OAAAgd,0BAAAhd,OAAAC,gBAAAD,OAAAid,kBAAAjd,OAAAkd,MAAAld,OAAAmd,QAAAnd,OAAAod,kBAAmR,QAAAzB,mBAA2B,MAAA,QAAAja,SAAA,SAAAuU,OAAA,aAAAA,MAA0D,QAAA2F,qBAA6B,MAAA,UAAAla,QAAwB,QAAAma,gCAAwC,MAAA,qBAAAna,QAAmC,QAAAoa,wBAAAlX,GAAmC,WAAA,KAAAyY,sBAAAzY,KAAAyY,sBAAAzY,GAAA0Y,iBAAA1Y,IAAAyY,sBAAAzY,GAAkH,QAAA0Y,kBAAA1Y,GAA6B,GAAA6D,GAAA1B,SAAAC,cAAA,UAAA0B,EAAA1I,OAAA6K,OAAAyQ,YAAAiC,uBAA2F,OAAA7U,GAAAqT,6BAAAnX,EAAA6D,EAAA+U,wBAAA/U,EAAA+U,wBAAA,QAAA9U,IAAAD,EAAA+U,wBAAA,qBAAA9U,GAAAD,EAAAgV,gBAAAhV,EAAAgV,gBAAA,QAAA/U,IAAAD,EAAAgV,gBAAA,qBAAA/U,GAAAD,EAAAiV,WAAA,QAAAhV,IAAAD,EAAAiV,WAAA,qBAAAhV,OAAkT,KAAAtJ,QAAAA,OAAAD,QAAAC,OAAAD,QAAAmc,YAAA5Z,SAAAA,OAAA8G,SAAA9G,OAAA8G,aAAkH9G,OAAA8G,SAAAmV,UAAArC,YAAwC,IAAA+B,yBAA6B/B,aAAAiC,wBAAoCK,WAAA,EAAAC,OAAA,EAAAC,SAAA,EAAAC,OAAA,QAC/9DC,IAAA,SAAA/U,QAAA7J,OAAAD,UACJ,SAAA8e,SACA,QAAAC,gBAAAxV,EAAAD,GAA6B,IAAA,GAAA7D,GAAA,EAAAvE,EAAAqI,EAAAzH,OAAA,EAAyBZ,GAAA,EAAKA,IAAA,CAAK,GAAAO,GAAA8H,EAAArI,EAAW,OAAAO,EAAA8H,EAAA4E,OAAAjN,EAAA,GAAA,OAAAO,GAAA8H,EAAA4E,OAAAjN,EAAA,GAAAuE,KAAAA,IAAA8D,EAAA4E,OAAAjN,EAAA,GAAAuE,KAA0E,GAAA6D,EAAA,KAAU7D,IAAIA,EAAA8D,EAAAyV,QAAA,KAAkB,OAAAzV,GAAS,QAAAuT,QAAAvT,EAAAD,GAAqB,GAAAC,EAAAuT,OAAA,MAAAvT,GAAAuT,OAAAxT,EAA+B,KAAA,GAAA7D,MAAAvE,EAAA,EAAiBA,EAAAqI,EAAAzH,OAAWZ,IAAAoI,EAAAC,EAAArI,GAAAA,EAAAqI,IAAA9D,EAAAzB,KAAAuF,EAAArI,GAA8B,OAAAuE,GAAS,GAAAwZ,aAAA,gEAA6CC,UAAA,SAAA3V,GAAyD,MAAA0V,aAAAvW,KAAAa,GAAApC,MAAA,GAAqCnH,SAAAmf,QAAA,WAA2B,IAAA,GAAA5V,GAAA,GAAAD,GAAA,EAAA7D,EAAA5D,UAAAC,OAAA,EAAuC2D,IAAA,IAAA6D,EAAU7D,IAAA,CAAK,GAAAvE,GAAAuE,GAAA,EAAA5D,UAAA4D,GAAAqZ,QAAAM,KAAsC,IAAA,gBAAAle,GAAA,KAAA,IAAAme,WAAA,4CAAuFne,KAAAqI,EAAArI,EAAA,IAAAqI,EAAAD,EAAA,MAAApI,EAAAoe,OAAA,IAAmC,MAAA/V,GAAAwV,eAAAjC,OAAAvT,EAAA1C,MAAA,KAAA,SAAA0C,GAAwD,QAAAA,KAAUD,GAAAjC,KAAA,MAAAiC,EAAA,IAAA,IAAAC,GAAA,KAAkCvJ,QAAAuf,UAAA,SAAAhW,GAA+B,GAAAD,GAAAtJ,QAAAwf,WAAAjW,GAAA9D,EAAA,MAAAga,OAAAlW,GAAA,EAAiD,QAAAA,EAAAwV,eAAAjC,OAAAvT,EAAA1C,MAAA,KAAA,SAAA0C,GAAwD,QAAAA,KAAUD,GAAAjC,KAAA,OAAAiC,IAAAC,EAAA,KAAAA,GAAA9D,IAAA8D,GAAA,MAAAD,EAAA,IAAA,IAAAC,GAA0DvJ,QAAAwf,WAAA,SAAAjW,GAAgC,MAAA,MAAAA,EAAA+V,OAAA,IAAwBtf,QAAAqH,KAAA,WAAyB,GAAAkC,GAAAuQ,MAAAxY,UAAA6F,MAAA9G,KAAAwB,UAAA,EAA8C,OAAA7B,SAAAuf,UAAAzC,OAAAvT,EAAA,SAAAA,EAAAD,GAAgD,GAAA,gBAAAC,GAAA,KAAA,IAAA8V,WAAA,yCAAoF,OAAA9V,KAASlC,KAAA,OAAarH,QAAA0f,SAAA,SAAAnW,EAAAD,GAAgC,QAAA7D,GAAA8D,GAAc,IAAA,GAAAD,GAAA,EAAYA,EAAAC,EAAAzH,QAAA,KAAAyH,EAAAD,GAAsBA,KAAK,IAAA,GAAA7D,GAAA8D,EAAAzH,OAAA,EAAqB2D,GAAA,GAAA,KAAA8D,EAAA9D,GAAgBA,KAAK,MAAA6D,GAAA7D,KAAA8D,EAAApC,MAAAmC,EAAA7D,EAAA6D,EAAA,GAA+BC,EAAAvJ,QAAAmf,QAAA5V,GAAAkW,OAAA,GAAAnW,EAAAtJ,QAAAmf,QAAA7V,GAAAmW,OAAA,EAA8D,KAAA,GAAAve,GAAAuE,EAAA8D,EAAA1C,MAAA,MAAApF,EAAAgE,EAAA6D,EAAAzC,MAAA,MAAA3G,EAAA+J,KAAAgK,IAAA/S,EAAAY,OAAAL,EAAAK,QAAAlB,EAAAV,EAAAsJ,EAAA,EAAkFA,EAAAtJ,EAAIsJ,IAAA,GAAAtI,EAAAsI,KAAA/H,EAAA+H,GAAA,CAAoB5I,EAAA4I,CAAI,OAAM,IAAA,GAAArJ,MAAAqJ,EAAA5I,EAAiB4I,EAAAtI,EAAAY,OAAW0H,IAAArJ,EAAA6D,KAAA,KAAiB,QAAA7D,EAAAA,EAAAkN,OAAA5L,EAAA0F,MAAAvG,KAAAyG,KAAA,MAA0CrH,QAAA2f,IAAA,IAAA3f,QAAA4f,UAAA,IAAA5f,QAAA6f,QAAA,SAAAtW,GAAmE,GAAAD,GAAA4V,UAAA3V,GAAA9D,EAAA6D,EAAA,GAAApI,EAAAoI,EAAA,EAAiC,OAAA7D,IAAAvE,GAAAA,IAAAA,EAAAA,EAAAue,OAAA,EAAAve,EAAAY,OAAA,IAAA2D,EAAAvE,GAAA,KAAoDlB,QAAA8f,SAAA,SAAAvW,EAAAD,GAAgC,GAAA7D,GAAAyZ,UAAA3V,GAAA,EAAsB,OAAAD,IAAA7D,EAAAga,QAAA,EAAAnW,EAAAxH,UAAAwH,IAAA7D,EAAAA,EAAAga,OAAA,EAAAha,EAAA3D,OAAAwH,EAAAxH,SAAA2D,GAAyEzF,QAAA+f,QAAA,SAAAxW,GAA6B,MAAA2V,WAAA3V,GAAA,GAAwB,IAAAkW,QAAA,MAAA,KAAAA,QAAA,GAAA,SAAAlW,EAAAD,EAAA7D,GAAiD,MAAA8D,GAAAkW,OAAAnW,EAAA7D,IAAqB,SAAA8D,EAAAD,EAAA7D,GAAiB,MAAA6D,GAAA,IAAAA,EAAAC,EAAAzH,OAAAwH,GAAAC,EAAAkW,OAAAnW,EAAA7D,MACnkEpF,KAAA+I,KAAAU,QAAA,eAEEkW,SAAA,KAAcC,IAAA,SAAAnW,QAAA7J,OAAAD,SACjB,YAAa,SAAAkgB,QAAA5W,GAAmB,GAAA7D,EAAM6D,IAAAA,EAAAxH,SAAA2D,EAAA6D,EAAAA,EAAA7D,EAAA3D,OAA8B,IAAAyH,GAAA,GAAA4W,YAAA7W,GAAA,EAA2B,OAAA7D,IAAA8D,EAAA2Q,IAAAzU,GAAA8D,EAAA6W,aAAAC,cAAAD,aAAA7W,EAAA+W,cAAAD,cAAAC,cAAA/W,EAAAgX,YAAAF,cAAAE,YAAAhX,EAAAiX,aAAAH,cAAAG,aAAAjX,EAAAkX,YAAAJ,cAAAI,YAAAlX,EAAAmX,aAAAL,cAAAK,aAAAnX,EAAAoX,aAAAN,cAAAM,aAAApX,EAAAqX,cAAAP,cAAAO,cAAArX,EAAAsX,SAAAR,cAAAQ,SAAAtX,EAAAgR,MAAA8F,cAAA9F,MAAAhR,EAAApC,MAAAkZ,cAAAlZ,MAAAoC,EAAAuX,KAAAT,cAAAS,KAAAvX,EAAAwX,WAAA,EAAAxX,EAAwe,QAAAyX,cAAA1X,GAAyB,IAAA,GAAA7D,GAAA8D,EAAArI,EAAAoI,EAAAxH,OAAA5B,KAAAU,EAAA,EAAgCA,EAAAM,EAAIN,IAAA,CAAK,IAAA6E,EAAA6D,EAAA2X,WAAArgB,IAAA,OAAA6E,EAAA,MAAA,CAAuC,IAAA8D,EAAA,CAAO9D,EAAA,OAAA7E,EAAA,IAAAM,EAAAhB,EAAA8D,KAAA,IAAA,IAAA,KAAAuF,EAAA9D,CAAyC,UAAS,GAAAA,EAAA,MAAA,CAAYvF,EAAA8D,KAAA,IAAA,IAAA,KAAAuF,EAAA9D,CAAwB,UAASA,EAAA8D,EAAA,OAAA,GAAA9D,EAAA,MAAA,MAAA8D,EAAA,SAAmCA,KAAArJ,EAAA8D,KAAA,IAAA,IAAA,KAAAuF,EAAA,KAAqC9D,GAAA,IAAAvF,EAAA8D,KAAAyB,GAAAA,EAAA,KAAAvF,EAAA8D,KAAAyB,GAAA,EAAA,IAAA,GAAAA,EAAA,KAAAA,EAAA,MAAAvF,EAAA8D,KAAAyB,GAAA,GAAA,IAAAA,GAAA,EAAA,GAAA,IAAA,GAAAA,EAAA,KAAAvF,EAAA8D,KAAAyB,GAAA,GAAA,IAAAA,GAAA,GAAA,GAAA,IAAAA,GAAA,EAAA,GAAA,IAAA,GAAAA,EAAA,KAAoJ,MAAAvF,GAASD,OAAAD,QAAAkgB,MAAsB,IAAAG,eAAAa,QAAAC,eAAAC,QAAAtX,QAAA,YAAoEuW,eAAeD,aAAA,SAAA9W,GAAyB,OAAAF,KAAAE,GAAAF,KAAAE,EAAA,IAAA,EAAAF,KAAAE,EAAA,IAAA,IAAA,SAAAF,KAAAE,EAAA,IAA8DgX,cAAA,SAAAhX,EAAA7D,GAA6B2D,KAAA3D,GAAA6D,EAAAF,KAAA3D,EAAA,GAAA6D,IAAA,EAAAF,KAAA3D,EAAA,GAAA6D,IAAA,GAAAF,KAAA3D,EAAA,GAAA6D,IAAA,IAA4DiX,YAAA,SAAAjX,GAAyB,OAAAF,KAAAE,GAAAF,KAAAE,EAAA,IAAA,EAAAF,KAAAE,EAAA,IAAA,KAAAF,KAAAE,EAAA,IAAA,KAA2DmX,YAAA,SAAAnX,GAAyB,MAAA8X,SAAAhH,KAAAhR,KAAAE,GAAA,EAAA,GAAA,IAAoCqX,aAAA,SAAArX,GAA0B,MAAA8X,SAAAhH,KAAAhR,KAAAE,GAAA,EAAA,GAAA,IAAoCoX,aAAA,SAAApX,EAAA7D,GAA4B,MAAA2b,SAAA7G,MAAAnR,KAAAE,EAAA7D,GAAA,EAAA,GAAA,IAAuCmb,cAAA,SAAAtX,EAAA7D,GAA6B,MAAA2b,SAAA7G,MAAAnR,KAAAE,EAAA7D,GAAA,EAAA,GAAA,IAAuCob,SAAA,SAAAvX,EAAA7D,EAAA8D,GAA0B,GAAArI,GAAA,GAAAhB,EAAA,EAAcuF,GAAAA,GAAA,EAAA8D,EAAAU,KAAAgK,IAAA7K,KAAAtH,OAAAyH,GAAAH,KAAAtH,OAA8C,KAAA,GAAAlB,GAAA6E,EAAY7E,EAAA2I,EAAI3I,IAAA,CAAK,GAAA4I,GAAAJ,KAAAxI,EAAc4I,IAAA,KAAAtI,GAAAmgB,mBAAAnhB,GAAAohB,OAAAC,aAAA/X,GAAAtJ,EAAA,IAAAA,GAAA,IAAAsJ,EAAAqX,SAAA,IAAoF,MAAA3f,IAAAmgB,mBAAAnhB,IAAgCqa,MAAA,SAAAjR,EAAA7D,GAAqB,IAAA,GAAA8D,GAAAD,IAAA4X,QAAAC,eAAAH,aAAA1X,GAAApI,EAAA,EAAyDA,EAAAqI,EAAAzH,OAAWZ,IAAAkI,KAAA3D,EAAAvE,GAAAqI,EAAArI,IAAmBiG,MAAA,SAAAmC,EAAA7D,GAAqB,MAAA2D,MAAAiQ,SAAA/P,EAAA7D,IAA0Bqb,KAAA,SAAAxX,EAAA7D,GAAoBA,EAAAA,GAAA,CAAO,KAAA,GAAA8D,GAAA,EAAYA,EAAAH,KAAAtH,OAAcyH,IAAAD,EAAA7D,EAAA8D,GAAAH,KAAAG,MAAoBiX,aAAAH,cAAAC,cAAAJ,OAAAsB,WAAA,SAAAlY,GAAsF,MAAA4X,SAAA5X,GAAA6X,eAAAH,aAAA1X,IAAAxH,QAAsEoe,OAAAuB,SAAA,SAAAnY,GAA6B,SAAAA,IAAAA,EAAAyX,cACjvEK,QAAA,KAAaM,IAAA,SAAA5X,QAAA7J,OAAAD,UAChB,SAAAkJ,QACA,YAAa,SAAAyY,KAAArY,GAAgBF,KAAAwY,IAAA1B,OAAAuB,SAAAnY,GAAAA,EAAA,GAAA4W,QAAA5W,GAAA,GAAAF,KAAAyY,IAAA,EAAAzY,KAAAtH,OAAAsH,KAAAwY,IAAA9f,OAAsF,QAAAggB,qBAAAxY,EAAApJ,GAAkC,GAAAuF,GAAA8D,EAAArJ,EAAA0hB,GAAc,IAAAnc,EAAA8D,EAAArJ,EAAA2hB,OAAAvY,GAAA,WAAA,IAAA7D,GAAAA,EAAA,IAAA,MAAA6D,EAAoD,IAAA7D,EAAA8D,EAAArJ,EAAA2hB,OAAAvY,GAAA,aAAA,IAAA7D,GAAAA,EAAA,IAAA,MAAA6D,EAAsD,IAAA7D,EAAA8D,EAAArJ,EAAA2hB,OAAAvY,GAAA,eAAA,IAAA7D,GAAAA,EAAA,IAAA,MAAA6D,EAAwD,IAAA7D,EAAA8D,EAAArJ,EAAA2hB,OAAAvY,GAAA,iBAAA,IAAA7D,GAAAA,EAAA,IAAA,MAAA6D,EAA0D,IAAA7D,EAAA8D,EAAArJ,EAAA2hB,OAAAvY,GAAA,mBAAA,IAAA7D,GAAAA,EAAA,IAAA,MAAA6D,EAA4D,IAAA7D,EAAA8D,EAAArJ,EAAA2hB,OAAAvY,GAAA,oBAAA,IAAA7D,GAAAA,EAAA,IAAA,MAAA6D,EAA6D,MAAA,IAAAK,OAAA,0CAA0D,QAAAoY,gBAAAzY,EAAApJ,GAA6BA,EAAA8hB,QAAA,GAAc,KAAA,GAAAvc,GAAAvF,EAAA2hB,IAAA,GAAmBvY,GAAA,GAAK,CAAE,GAAApJ,EAAA2hB,KAAApc,EAAA,KAAA,IAAAkE,OAAA,yCAAsE,IAAAJ,GAAA,IAAAD,CAAYpJ,GAAA0hB,IAAA1hB,EAAA2hB,OAAAtY,GAAAD,GAAA,IAAA,IAAA,GAAAA,GAAA,KAAwC,QAAA2Y,sBAAA3Y,EAAApJ,EAAAuF,GAAqC,GAAA8D,GAAArJ,GAAA,MAAA,EAAAA,GAAA,QAAA,EAAAA,GAAA,UAAA,EAAA+J,KAAAiY,KAAAjY,KAAAkL,IAAAjV,IAAA,EAAA+J,KAAAwQ,KAAiFhV,GAAAuc,QAAAzY,EAAa,KAAA,GAAA9H,GAAAgE,EAAAoc,IAAA,EAAkBpgB,GAAA6H,EAAK7H,IAAAgE,EAAAmc,IAAAngB,EAAA8H,GAAA9D,EAAAmc,IAAAngB,GAAwB,QAAA0gB,mBAAA7Y,EAAApJ,GAAgC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAAkiB,YAAA9Y,EAAA7D,IAAwB,QAAA4c,oBAAA/Y,EAAApJ,GAAiC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAAoiB,aAAAhZ,EAAA7D,IAAyB,QAAA8c,kBAAAjZ,EAAApJ,GAA+B,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAAsiB,WAAAlZ,EAAA7D,IAAuB,QAAAgd,mBAAAnZ,EAAApJ,GAAgC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAAwiB,YAAApZ,EAAA7D,IAAwB,QAAAkd,oBAAArZ,EAAApJ,GAAiC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAA0iB,aAAAtZ,EAAA7D,IAAyB,QAAAod,oBAAAvZ,EAAApJ,GAAiC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAA4iB,aAAAxZ,EAAA7D,IAAyB,QAAAsd,qBAAAzZ,EAAApJ,GAAkC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAA8iB,cAAA1Z,EAAA7D,IAA0B,QAAAwd,oBAAA3Z,EAAApJ,GAAiC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAAgjB,aAAA5Z,EAAA7D,IAAyB,QAAA0d,qBAAA7Z,EAAApJ,GAAkC,IAAA,GAAAuF,GAAA,EAAYA,EAAA6D,EAAAxH,OAAW2D,IAAAvF,EAAAkjB,cAAA9Z,EAAA7D,IAA0BxF,OAAAD,QAAA2hB,GAAmB,IAAAzB,QAAAhX,OAAAgX,QAAApW,QAAA,WAA8C6X,KAAA0B,OAAA,EAAA1B,IAAA2B,QAAA,EAAA3B,IAAA4B,MAAA,EAAA5B,IAAA6B,QAAA,CAAqD,IAAAC,UAAAxZ,KAAA+F,IAAA,EAAA,GAAoF2R,KAAArgB,WAAeoiB,QAAA,WAAmBta,KAAAwY,IAAA,MAAc+B,WAAA,SAAAra,EAAApJ,EAAAuF,GAA4B,IAAAA,EAAAA,GAAA2D,KAAAtH,OAAqBsH,KAAAyY,IAAApc,GAAW,CAAE,GAAA8D,GAAAH,KAAAwa,aAAAniB,EAAA8H,GAAA,EAAArI,EAAAkI,KAAAyY,GAA0CvY,GAAA7H,EAAAvB,EAAAkJ,MAAAA,KAAAyY,MAAA3gB,GAAAkI,KAAAya,KAAAta,GAAuC,MAAArJ,IAAS4jB,YAAA,SAAAxa,EAAApJ,GAA2B,MAAAkJ,MAAAua,WAAAra,EAAApJ,EAAAkJ,KAAAwa,aAAAxa,KAAAyY,MAAuDkC,YAAA,WAAwB,GAAAza,GAAAF,KAAAwY,IAAAxB,aAAAhX,KAAAyY,IAAsC,OAAAzY,MAAAyY,KAAA,EAAAvY,GAAqB0a,aAAA,WAAyB,GAAA1a,GAAAF,KAAAwY,IAAArB,YAAAnX,KAAAyY,IAAqC,OAAAzY,MAAAyY,KAAA,EAAAvY,GAAqB2a,YAAA,WAAwB,GAAA3a,GAAAF,KAAAwY,IAAAxB,aAAAhX,KAAAyY,KAA5iB,WAA4iBzY,KAAAwY,IAAAxB,aAAAhX,KAAAyY,IAAA,EAAsF,OAAAzY,MAAAyY,KAAA,EAAAvY,GAAqB4a,aAAA,WAAyB,GAAA5a,GAAAF,KAAAwY,IAAAxB,aAAAhX,KAAAyY,KAAhrB,WAAgrBzY,KAAAwY,IAAArB,YAAAnX,KAAAyY,IAAA,EAAqF,OAAAzY,MAAAyY,KAAA,EAAAvY,GAAqB6a,UAAA,WAAsB,GAAA7a,GAAAF,KAAAwY,IAAAnB,YAAArX,KAAAyY,IAAqC,OAAAzY,MAAAyY,KAAA,EAAAvY,GAAqB8a,WAAA,WAAuB,GAAA9a,GAAAF,KAAAwY,IAAAjB,aAAAvX,KAAAyY,IAAsC,OAAAzY,MAAAyY,KAAA,EAAAvY,GAAqBsa,WAAA,WAAuB,GAAAta,GAAApJ,EAAAuF,EAAA2D,KAAAwY,GAAmB,OAAA1hB,GAAAuF,EAAA2D,KAAAyY,OAAAvY,EAAA,IAAApJ,EAAAA,EAAA,IAAAoJ,GAAApJ,EAAAuF,EAAA2D,KAAAyY,OAAAvY,IAAA,IAAApJ,IAAA,EAAAA,EAAA,IAAAoJ,GAAApJ,EAAAuF,EAAA2D,KAAAyY,OAAAvY,IAAA,IAAApJ,IAAA,GAAAA,EAAA,IAAAoJ,GAAApJ,EAAAuF,EAAA2D,KAAAyY,OAAAvY,IAAA,IAAApJ,IAAA,GAAAA,EAAA,IAAAoJ,EAAAwY,oBAAAxY,EAAAF,UAA6Lib,aAAA,WAAyB,GAAA/a,GAAAF,KAAAyY,IAAA3hB,EAAAkJ,KAAAwa,YAAmC,IAAA1jB,EAAAujB,SAAA,MAAAvjB,EAAuB,KAAA,GAAAuF,GAAA2D,KAAAyY,IAAA,EAAqB,MAAAzY,KAAAwY,IAAAnc,IAAkBA,GAAKA,GAAA6D,IAAA7D,EAAA6D,GAAApJ,EAAA,CAAe,KAAA,GAAAqJ,GAAA,EAAYA,EAAA9D,EAAA6D,EAAA,EAAQC,IAAA,CAAK,GAAA9H,GAAA,KAAA2H,KAAAwY,IAAAtY,EAAAC,EAAyBrJ,IAAAqJ,EAAA,EAAA9H,GAAA,EAAA8H,EAAA9H,EAAAwI,KAAA+F,IAAA,EAAA,EAAAzG,GAAgC,OAAArJ,EAAA,GAAWokB,YAAA,WAAwB,GAAAhb,GAAAF,KAAAwa,YAAwB,OAAAta,GAAA,GAAA,GAAAA,EAAA,IAAA,EAAAA,EAAA,GAA4Bib,YAAA,WAAwB,MAAAC,SAAApb,KAAAwa,eAAkCa,WAAA,WAAuB,GAAAnb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,EAAAkJ,KAAAwY,IAAAf,SAAA,OAAAzX,KAAAyY,IAAAvY,EAAwE,OAAAF,MAAAyY,IAAAvY,EAAApJ,GAAoBwkB,UAAA,WAAsB,GAAApb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,EAAAkJ,KAAAwY,IAAAza,MAAAiC,KAAAyY,IAAAvY,EAA8D,OAAAF,MAAAyY,IAAAvY,EAAApJ,GAAoBykB,iBAAA,WAA6B,IAAA,GAAArb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAAwa,aAA2B,OAAA1jB,IAAS0kB,kBAAA,WAA8B,IAAA,GAAAtb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAAkb,cAA4B,OAAApkB,IAAS2kB,kBAAA,WAA8B,IAAA,GAAAvb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAAmb,cAA4B,OAAArkB,IAAS4kB,gBAAA,WAA4B,IAAA,GAAAxb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAA+a,YAA0B,OAAAjkB,IAAS6kB,iBAAA,WAA6B,IAAA,GAAAzb,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAAgb,aAA2B,OAAAlkB,IAAS8kB,kBAAA,WAA8B,IAAA,GAAA1b,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAA2a,cAA4B,OAAA7jB,IAAS+kB,mBAAA,WAA+B,IAAA,GAAA3b,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAA4a,eAA6B,OAAA9jB,IAASglB,kBAAA,WAA8B,IAAA,GAAA5b,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAA6a,cAA4B,OAAA/jB,IAASilB,mBAAA,WAA+B,IAAA,GAAA7b,GAAAF,KAAAwa,aAAAxa,KAAAyY,IAAA3hB,KAA0CkJ,KAAAyY,IAAAvY,GAAWpJ,EAAA8D,KAAAoF,KAAA8a,eAA6B,OAAAhkB,IAAS2jB,KAAA,SAAAva,GAAkB,GAAApJ,GAAA,EAAAoJ,CAAU,IAAApJ,IAAAyhB,IAAA0B,OAAA,KAAuBja,KAAAwY,IAAAxY,KAAAyY,OAAA,UAA2B,IAAA3hB,IAAAyhB,IAAA4B,MAAAna,KAAAyY,IAAAzY,KAAAwa,aAAAxa,KAAAyY,QAA0D,IAAA3hB,IAAAyhB,IAAA6B,QAAApa,KAAAyY,KAAA,MAAoC,CAAK,GAAA3hB,IAAAyhB,IAAA2B,QAAA,KAAA,IAAA3Z,OAAA,uBAAAzJ,EAA6DkJ,MAAAyY,KAAA,IAAauD,SAAA,SAAA9b,EAAApJ,GAAwBkJ,KAAAgZ,YAAA9Y,GAAA,EAAApJ,IAAyB8hB,QAAA,SAAA1Y,GAAqB,IAAA,GAAApJ,GAAAkJ,KAAAtH,QAAA,GAA0B5B,EAAAkJ,KAAAyY,IAAAvY,GAAapJ,GAAA,CAAM,IAAAA,IAAAkJ,KAAAtH,OAAA,CAAoB,GAAA2D,GAAA,GAAAya,QAAAhgB,EAAoBkJ,MAAAwY,IAAAd,KAAArb,GAAA2D,KAAAwY,IAAAnc,EAAA2D,KAAAtH,OAAA5B,IAA2CmlB,OAAA,WAAmB,MAAAjc,MAAAtH,OAAAsH,KAAAyY,IAAAzY,KAAAyY,IAAA,EAAAzY,KAAAwY,IAAAza,MAAA,EAAAiC,KAAAtH,SAAqEghB,aAAA,SAAAxZ,GAA0BF,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAAtB,cAAAhX,EAAAF,KAAAyY,KAAAzY,KAAAyY,KAAA,GAA+DmB,cAAA,SAAA1Z,GAA2BF,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAApB,aAAAlX,EAAAF,KAAAyY,KAAAzY,KAAAyY,KAAA,GAA8DqB,aAAA,SAAA5Z,GAA0BF,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAApB,cAAA,EAAAlX,EAAAF,KAAAyY,KAAAzY,KAAAwY,IAAAtB,cAAArW,KAAAwN,MAAAnO,GAAxgH,EAAA,aAAwgHF,KAAAyY,IAAA,GAAAzY,KAAAyY,KAAA,GAAiIuB,cAAA,SAAA9Z,GAA2BF,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAApB,cAAA,EAAAlX,EAAAF,KAAAyY,KAAAzY,KAAAwY,IAAApB,aAAAvW,KAAAwN,MAAAnO,GAApqH,EAAA,aAAoqHF,KAAAyY,IAAA,GAAAzY,KAAAyY,KAAA,GAAgIO,YAAA,SAAA9Y,GAAyB,MAAAA,IAAAA,EAAAA,EAAA,cAAAyY,gBAAAzY,EAAAF,OAAAA,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAAxY,KAAAyY,OAAA,IAAAvY,GAAAA,EAAA,IAAA,IAAA,QAAAA,GAAA,MAAAF,KAAAwY,IAAAxY,KAAAyY,OAAA,KAAAvY,KAAA,IAAAA,EAAA,IAAA,IAAA,GAAAA,GAAA,MAAAF,KAAAwY,IAAAxY,KAAAyY,OAAA,KAAAvY,KAAA,IAAAA,EAAA,IAAA,IAAA,GAAAA,GAAA,MAAAF,KAAAwY,IAAAxY,KAAAyY,OAAAvY,IAAA,EAAA,UAAkRgZ,aAAA,SAAAhZ,GAA0BF,KAAAgZ,YAAA9Y,EAAA,EAAA,GAAAA,EAAA,EAAA,EAAAA,IAAiCsZ,aAAA,SAAAtZ,GAA0BF,KAAAgZ,YAAAoC,QAAAlb,KAA6Bgc,YAAA,SAAAhc,GAAyBA,EAAAgY,OAAAhY,EAAY,IAAApJ,GAAAggB,OAAAsB,WAAAlY,EAA2BF,MAAAgZ,YAAAliB,GAAAkJ,KAAA4Y,QAAA9hB,GAAAkJ,KAAAwY,IAAArH,MAAAjR,EAAAF,KAAAyY,KAAAzY,KAAAyY,KAAA3hB,GAA2EsiB,WAAA,SAAAlZ,GAAwBF,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAAlB,aAAApX,EAAAF,KAAAyY,KAAAzY,KAAAyY,KAAA,GAA8Da,YAAA,SAAApZ,GAAyBF,KAAA4Y,QAAA,GAAA5Y,KAAAwY,IAAAhB,cAAAtX,EAAAF,KAAAyY,KAAAzY,KAAAyY,KAAA,GAA+D0D,WAAA,SAAAjc,GAAwB,GAAApJ,GAAAoJ,EAAAxH,MAAesH,MAAAgZ,YAAAliB,GAAAkJ,KAAA4Y,QAAA9hB,EAAoC,KAAA,GAAAuF,GAAA,EAAYA,EAAAvF,EAAIuF,IAAA2D,KAAAwY,IAAAxY,KAAAyY,OAAAvY,EAAA7D,IAA8B+f,gBAAA,SAAAlc,EAAApJ,GAA0C,GAAAuF,KAAX2D,KAAAyY,GAA0BvY,GAAApJ,EAAAkJ,KAAU,IAAAG,GAAAH,KAAAyY,IAAApc,CAAiB8D,IAAA,KAAA0Y,qBAAAxc,EAAA8D,EAAAH,MAAAA,KAAAyY,IAAApc,EAAA,EAAA2D,KAAAgZ,YAAA7Y,GAAAH,KAAAyY,KAAAtY,GAAoFkc,aAAA,SAAAnc,EAAApJ,EAAAuF,GAA8B2D,KAAAgc,SAAA9b,EAAAqY,IAAA4B,OAAAna,KAAAoc,gBAAAtlB,EAAAuF,IAAqD0c,kBAAA,SAAA7Y,EAAApJ,GAAiCkJ,KAAAqc,aAAAnc,EAAA6Y,kBAAAjiB,IAAyCmiB,mBAAA,SAAA/Y,EAAApJ,GAAkCkJ,KAAAqc,aAAAnc,EAAA+Y,mBAAAniB,IAA0CyiB,mBAAA,SAAArZ,EAAApJ,GAAkCkJ,KAAAqc,aAAAnc,EAAAqZ,mBAAAziB,IAA0CqiB,iBAAA,SAAAjZ,EAAApJ,GAAgCkJ,KAAAqc,aAAAnc,EAAAiZ,iBAAAriB,IAAwCuiB,kBAAA,SAAAnZ,EAAApJ,GAAiCkJ,KAAAqc,aAAAnc,EAAAmZ,kBAAAviB,IAAyC2iB,mBAAA,SAAAvZ,EAAApJ,GAAkCkJ,KAAAqc,aAAAnc,EAAAuZ,mBAAA3iB,IAA0C6iB,oBAAA,SAAAzZ,EAAApJ,GAAmCkJ,KAAAqc,aAAAnc,EAAAyZ,oBAAA7iB,IAA2C+iB,mBAAA,SAAA3Z,EAAApJ,GAAkCkJ,KAAAqc,aAAAnc,EAAA2Z,mBAAA/iB,IAA0CijB,oBAAA,SAAA7Z,EAAApJ,GAAmCkJ,KAAAqc,aAAAnc,EAAA6Z,oBAAAjjB,IAA2CwlB,gBAAA,SAAApc,EAAApJ,GAA+BkJ,KAAAgc,SAAA9b,EAAAqY,IAAA4B,OAAAna,KAAAmc,WAAArlB,IAA8CylB,kBAAA,SAAArc,EAAApJ,GAAiCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA6B,SAAApa,KAAA0Z,aAAA5iB,IAAkD0lB,mBAAA,SAAAtc,EAAApJ,GAAkCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA6B,SAAApa,KAAA4Z,cAAA9iB,IAAmD2lB,kBAAA,SAAAvc,EAAApJ,GAAiCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA2B,SAAAla,KAAA8Z,aAAAhjB,IAAkD4lB,mBAAA,SAAAxc,EAAApJ,GAAkCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA2B,SAAAla,KAAAga,cAAAljB,IAAmD6lB,iBAAA,SAAAzc,EAAApJ,GAAgCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA0B,QAAAja,KAAAgZ,YAAAliB,IAAgD8lB,kBAAA,SAAA1c,EAAApJ,GAAiCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA0B,QAAAja,KAAAkZ,aAAApiB,IAAiD+lB,iBAAA,SAAA3c,EAAApJ,GAAgCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA4B,OAAAna,KAAAkc,YAAAplB,IAA+CgmB,gBAAA,SAAA5c,EAAApJ,GAA+BkJ,KAAAgc,SAAA9b,EAAAqY,IAAA6B,SAAApa,KAAAoZ,WAAAtiB,IAAgDimB,iBAAA,SAAA7c,EAAApJ,GAAgCkJ,KAAAgc,SAAA9b,EAAAqY,IAAA2B,SAAAla,KAAAsZ,YAAAxiB,IAAiDkmB,kBAAA,SAAA9c,EAAApJ,GAAiCkJ,KAAA2c,iBAAAzc,EAAAkb,QAAAtkB,QACllQG,KAAA+I,KAAA,mBAAAF,QAAAA,OAAA,mBAAAC,MAAAA,KAAA,mBAAA5G,QAAAA,aAEE8jB,WAAA,KAAcC,IAAA,SAAAxc,QAAA7J,OAAAD,SACjB,YAAa,SAAAumB,OAAAjd,EAAApI,GAAoBkI,KAAAuB,EAAArB,EAAAF,KAAAmB,EAAArJ,EAAkBjB,OAAAD,QAAAumB,MAAAA,MAAAjlB,WAAsCklB,MAAA,WAAiB,MAAA,IAAAD,OAAAnd,KAAAuB,EAAAvB,KAAAmB,IAAgChC,IAAA,SAAAe,GAAiB,MAAAF,MAAAod,QAAAC,KAAAnd,IAA4Bod,IAAA,SAAApd,GAAiB,MAAAF,MAAAod,QAAAG,KAAArd,IAA4Bsd,KAAA,SAAAtd,GAAkB,MAAAF,MAAAod,QAAAK,MAAAvd,IAA6B3H,IAAA,SAAA2H,GAAiB,MAAAF,MAAAod,QAAAM,KAAAxd,IAA4BqC,OAAA,SAAArC,GAAoB,MAAAF,MAAAod,QAAAO,QAAAzd,IAA+B0d,QAAA,SAAA1d,GAAqB,MAAAF,MAAAod,QAAAS,SAAA3d,IAAgC4d,KAAA,WAAiB,MAAA9d,MAAAod,QAAAW,SAA4BC,KAAA,WAAiB,MAAAhe,MAAAod,QAAAa,SAA4B3O,MAAA,WAAkB,MAAAtP,MAAAod,QAAAc,UAA6BC,IAAA,WAAgB,MAAAtd,MAAA2R,KAAAxS,KAAAuB,EAAAvB,KAAAuB,EAAAvB,KAAAmB,EAAAnB,KAAAmB,IAA8CqG,OAAA,SAAAtH,GAAoB,MAAAF,MAAAuB,IAAArB,EAAAqB,GAAAvB,KAAAmB,IAAAjB,EAAAiB,GAAkC+J,KAAA,SAAAhL,GAAkB,MAAAW,MAAA2R,KAAAxS,KAAAoe,QAAAle,KAAkCke,QAAA,SAAAle,GAAqB,GAAApI,GAAAoI,EAAAqB,EAAAvB,KAAAuB,EAAAzK,EAAAoJ,EAAAiB,EAAAnB,KAAAmB,CAA8B,OAAArJ,GAAAA,EAAAhB,EAAAA,GAAeunB,MAAA,WAAkB,MAAAxd,MAAAyd,MAAAte,KAAAmB,EAAAnB,KAAAuB,IAAiCgd,QAAA,SAAAre,GAAqB,MAAAW,MAAAyd,MAAAte,KAAAmB,EAAAjB,EAAAiB,EAAAnB,KAAAuB,EAAArB,EAAAqB,IAAyCid,UAAA,SAAAte,GAAuB,MAAAF,MAAAye,aAAAve,EAAAqB,EAAArB,EAAAiB,IAAkCsd,aAAA,SAAAve,EAAApI,GAA4B,MAAA+I,MAAAyd,MAAAte,KAAAuB,EAAAzJ,EAAAkI,KAAAmB,EAAAjB,EAAAF,KAAAuB,EAAArB,EAAAF,KAAAmB,EAAArJ,IAAuD+lB,SAAA,SAAA3d,GAAsB,GAAApI,GAAAoI,EAAA,GAAAF,KAAAuB,EAAArB,EAAA,GAAAF,KAAAmB,EAAArK,EAAAoJ,EAAA,GAAAF,KAAAuB,EAAArB,EAAA,GAAAF,KAAAmB,CAAwD,OAAAnB,MAAAuB,EAAAzJ,EAAAkI,KAAAmB,EAAArK,EAAAkJ,MAA8Bqd,KAAA,SAAAnd,GAAkB,MAAAF,MAAAuB,GAAArB,EAAAqB,EAAAvB,KAAAmB,GAAAjB,EAAAiB,EAAAnB,MAAoCud,KAAA,SAAArd,GAAkB,MAAAF,MAAAuB,GAAArB,EAAAqB,EAAAvB,KAAAmB,GAAAjB,EAAAiB,EAAAnB,MAAoCyd,MAAA,SAAAvd,GAAmB,MAAAF,MAAAuB,GAAArB,EAAAF,KAAAmB,GAAAjB,EAAAF,MAAgC0d,KAAA,SAAAxd,GAAkB,MAAAF,MAAAuB,GAAArB,EAAAF,KAAAmB,GAAAjB,EAAAF,MAAgC+d,MAAA,WAAkB,MAAA/d,MAAA0d,KAAA1d,KAAAme,OAAAne,MAAkCie,MAAA,WAAkB,GAAA/d,GAAAF,KAAAmB,CAAa,OAAAnB,MAAAmB,EAAAnB,KAAAuB,EAAAvB,KAAAuB,GAAArB,EAAAF,MAAoC2d,QAAA,SAAAzd,GAAqB,GAAApI,GAAA+I,KAAAE,IAAAb,GAAApJ,EAAA+J,KAAAC,IAAAZ,GAAA7H,EAAAP,EAAAkI,KAAAuB,EAAAzK,EAAAkJ,KAAAmB,EAAAhB,EAAArJ,EAAAkJ,KAAAuB,EAAAzJ,EAAAkI,KAAAmB,CAAwE,OAAAnB,MAAAuB,EAAAlJ,EAAA2H,KAAAmB,EAAAhB,EAAAH,MAA8Bke,OAAA,WAAmB,MAAAle,MAAAuB,EAAAV,KAAAyO,MAAAtP,KAAAuB,GAAAvB,KAAAmB,EAAAN,KAAAyO,MAAAtP,KAAAmB,GAAAnB,OAAiEmd,MAAA3R,QAAA,SAAAtL,GAA2B,MAAAA,aAAAid,OAAAjd,EAAAwQ,MAAAuD,QAAA/T,GAAA,GAAAid,OAAAjd,EAAA,GAAAA,EAAA,IAAAA,QAClrDwe,IAAA,SAAAhe,QAAA7J,OAAAD,SACJ,QAAA+nB,oBAA4B,KAAA,IAAApe,OAAA,mCAAmD,QAAAqe,uBAA+B,KAAA,IAAAre,OAAA,qCAAqD,QAAAse,YAAAxiB,GAAuB,GAAAyiB,mBAAAC,WAAA,MAAAA,YAAA1iB,EAAA,EAAwD,KAAAyiB,mBAAAH,mBAAAG,mBAAAC,WAAA,MAAAD,kBAAAC,WAAAA,WAAA1iB,EAAA,EAA2H,KAAI,MAAAyiB,kBAAAziB,EAAA,GAA6B,MAAA6D,GAAS,IAAI,MAAA4e,kBAAA7nB,KAAA,KAAAoF,EAAA,GAAuC,MAAA6D,GAAS,MAAA4e,kBAAA7nB,KAAA+I,KAAA3D,EAAA,KAAyC,QAAA2iB,iBAAA3iB,GAA4B,GAAA4iB,qBAAAC,aAAA,MAAAA,cAAA7iB,EAA4D,KAAA4iB,qBAAAL,sBAAAK,qBAAAC,aAAA,MAAAD,oBAAAC,aAAAA,aAAA7iB,EAAwI,KAAI,MAAA4iB,oBAAA5iB,GAA6B,MAAA6D,GAAS,IAAI,MAAA+e,oBAAAhoB,KAAA,KAAAoF,GAAuC,MAAA6D,GAAS,MAAA+e,oBAAAhoB,KAAA+I,KAAA3D,KAAyC,QAAA8iB,mBAA2BC,UAAAC,eAAAD,UAAA,EAAAC,aAAA3mB,OAAA4mB,MAAAD,aAAApb,OAAAqb,OAAAC,YAAA,EAAAD,MAAA5mB,QAAA8mB,cAAoI,QAAAA,cAAsB,IAAAJ,SAAA,CAAc,GAAA/iB,GAAAwiB,WAAAM,gBAAkCC,WAAA,CAAY,KAAA,GAAAlf,GAAAof,MAAA5mB,OAAuBwH,GAAE,CAAE,IAAAmf,aAAAC,MAAAA,WAAgCC,WAAArf,GAAemf,cAAAA,aAAAE,YAAAE,KAA8CF,aAAA,EAAArf,EAAAof,MAAA5mB,OAA6B2mB,aAAA,KAAAD,UAAA,EAAAJ,gBAAA3iB,IAAkD,QAAAqjB,MAAArjB,EAAA6D,GAAmBF,KAAA2f,IAAAtjB,EAAA2D,KAAA4f,MAAA1f,EAAwB,QAAA2f,SAAiB,GAA6Bf,kBAAAG,mBAA7BvJ,QAAA7e,OAAAD,YAAkE,WAAY,IAAIkoB,iBAAA,kBAAAC,YAAAA,WAAAJ,iBAA2E,MAAAtiB,GAASyiB,iBAAAH,iBAAkC,IAAIM,mBAAA,kBAAAC,cAAAA,aAAAN,oBAAoF,MAAAviB,GAAS4iB,mBAAAL,uBAA2C,IAAAS,cAAAC,SAAAF,UAAA,EAAAG,YAAA,CAAoD7J,SAAAoK,SAAA,SAAAzjB,GAA6B,GAAA6D,GAAA,GAAAwQ,OAAAjY,UAAAC,OAAA,EAAoC,IAAAD,UAAAC,OAAA,EAAA,IAAA,GAAA0H,GAAA,EAAkCA,EAAA3H,UAAAC,OAAmB0H,IAAAF,EAAAE,EAAA,GAAA3H,UAAA2H,EAAwBkf,OAAA1kB,KAAA,GAAA8kB,MAAArjB,EAAA6D,IAAA,IAAAof,MAAA5mB,QAAA0mB,UAAAP,WAAAW,aAA6EE,KAAAxnB,UAAAunB,IAAA,WAA+Bzf,KAAA2f,IAAAI,MAAA,KAAA/f,KAAA4f,QAAgClK,QAAAhc,MAAA,UAAAgc,QAAAsK,SAAA,EAAAtK,QAAAuK,OAA0DvK,QAAAwK,QAAAxK,QAAAjP,QAAA,GAAAiP,QAAAyK,YAAuDzK,QAAA5Z,GAAA+jB,KAAAnK,QAAA0K,YAAAP,KAAAnK,QAAA2K,KAAAR,KAAAnK,QAAA4K,IAAAT,KAAAnK,QAAA6K,eAAAV,KAAAnK,QAAA8K,mBAAAX,KAAAnK,QAAA+K,KAAAZ,KAAAnK,QAAAgL,QAAA,SAAArkB,GAAuL,KAAA,IAAAkE,OAAA,qCAAoDmV,QAAAM,IAAA,WAAwB,MAAA,KAAUN,QAAAiL,MAAA,SAAAtkB,GAA2B,KAAA,IAAAkE,OAAA,mCAAkDmV,QAAAkL,MAAA,WAA0B,MAAA,SACl9EC,IAAA,SAAAngB,QAAA7J,OAAAD,SACJ,YAAa,SAAAkqB,aAAAzgB,EAAAH,EAAAC,EAAA3I,EAAAY,GAAgC,IAAA+H,EAAAA,GAAA,EAAA3I,EAAAA,GAAA6I,EAAA3H,OAAA,EAAAN,EAAAA,GAAA2oB,eAA+CvpB,EAAA2I,GAAI,CAAE,GAAA3I,EAAA2I,EAAA,IAAA,CAAY,GAAAR,GAAAnI,EAAA2I,EAAA,EAAA9D,EAAA6D,EAAAC,EAAA,EAAApJ,EAAA8J,KAAAkL,IAAApM,GAAAtH,EAAA,GAAAwI,KAAA0R,IAAA,EAAAxb,EAAA,GAAAD,EAAA,GAAA+J,KAAA2R,KAAAzb,EAAAsB,GAAAsH,EAAAtH,GAAAsH,IAAAtD,EAAAsD,EAAA,EAAA,GAAA,EAAA,EAA8KmhB,aAAAzgB,EAAAH,EAA9KW,KAAAyD,IAAAnE,EAAAU,KAAAwN,MAAAnO,EAAA7D,EAAAhE,EAAAsH,EAAA7I,IAAA+J,KAAAgK,IAAArT,EAAAqJ,KAAAwN,MAAAnO,GAAAP,EAAAtD,GAAAhE,EAAAsH,EAAA7I,IAA8KsB,GAAuB,GAAAgI,GAAAC,EAAAH,GAAAe,EAAAd,EAAAiB,EAAA5J,CAAmB,KAAAkb,KAAArS,EAAAF,EAAAD,GAAA9H,EAAAiI,EAAA7I,GAAA4I,GAAA,GAAAsS,KAAArS,EAAAF,EAAA3I,GAAyCyJ,EAAAG,GAAI,CAAE,IAAAsR,KAAArS,EAAAY,EAAAG,GAAAH,IAAAG,IAAwBhJ,EAAAiI,EAAAY,GAAAb,GAAA,GAAYa,GAAK,MAAK7I,EAAAiI,EAAAe,GAAAhB,GAAA,GAAYgB,IAAK,IAAAhJ,EAAAiI,EAAAF,GAAAC,GAAAsS,KAAArS,EAAAF,EAAAiB,IAAAA,IAAAsR,KAAArS,EAAAe,EAAA5J,IAAA4J,GAAAlB,IAAAC,EAAAiB,EAAA,GAAAlB,GAAAkB,IAAA5J,EAAA4J,EAAA,IAAyE,QAAAsR,MAAArS,EAAAH,EAAAC,GAAqB,GAAA3I,GAAA6I,EAAAH,EAAWG,GAAAH,GAAAG,EAAAF,GAAAE,EAAAF,GAAA3I,EAAiB,QAAAupB,gBAAA1gB,EAAAH,GAA6B,MAAAG,GAAAH,GAAA,EAAAG,EAAAH,EAAA,EAAA,EAAsBrJ,OAAAD,QAAAkqB,iBAC7lBE,IAAA,SAAAtgB,QAAA7J,OAAAD,SACJ,YAAa,SAAAqqB,cAAA/gB,GAAyB,MAAA,IAAAghB,cAAAhhB,GAA2B,QAAAghB,cAAAhhB,GAAyBF,KAAAuM,QAAApP,OAAA1F,OAAA6K,OAAAtC,KAAAuM,SAAArM,GAAAF,KAAAmhB,MAAA,GAAAzQ,OAAA1Q,KAAAuM,QAAAI,QAAA,GAAgG,QAAAyU,eAAAlhB,EAAA7D,EAAA7E,EAAAM,GAAgC,OAAOyJ,EAAArB,EAAAiB,EAAA9E,EAAAd,KAAA,EAAA,EAAAnC,GAAAtB,EAAA2V,UAAAjW,GAAmC,QAAA6pB,oBAAAnhB,EAAA7D,GAAiC,GAAA7E,GAAA0I,EAAA3G,SAAAC,WAA6B,OAAA4nB,eAAAE,KAAA9pB,EAAA,IAAA+pB,KAAA/pB,EAAA,IAAA,EAAA6E,GAAgD,QAAAmlB,gBAAAthB,GAA2B,OAAO7G,KAAA,UAAAI,WAAAgoB,qBAAAvhB,GAAA3G,UAA4DF,KAAA,QAAAG,aAAAkoB,KAAAxhB,EAAAqB,GAAAogB,KAAAzhB,EAAAiB,MAAiD,QAAAsgB,sBAAAvhB,GAAiC,GAAA7D,GAAA6D,EAAAuN,SAAmF,QAAOmU,SAAA,EAAAC,YAAAxlB,EAAAylB,wBAA1FzlB,GAAA,IAAAwE,KAAAyO,MAAAjT,EAAA,KAAA,IAAAA,GAAA,IAAAwE,KAAAyO,MAAAjT,EAAA,KAAA,GAAA,IAAAA,GAA8I,QAAAilB,MAAAphB,GAAiB,MAAAA,GAAA,IAAA,GAAgB,QAAAqhB,MAAArhB,GAAiB,GAAA7D,GAAAwE,KAAAC,IAAAZ,EAAAW,KAAAgG,GAAA,KAAArP,EAAA,GAAA,IAAAqJ,KAAAkL,KAAA,EAAA1P,IAAA,EAAAA,IAAAwE,KAAAgG,EAAqE,OAAArP,GAAA,EAAA,EAAAA,EAAA,EAAA,EAAAA,EAAqB,QAAAkqB,MAAAxhB,GAAiB,MAAA,MAAAA,EAAA,IAAkB,QAAAyhB,MAAAzhB,GAAiB,GAAA7D,IAAA,IAAA,IAAA6D,GAAAW,KAAAgG,GAAA,GAA8B,OAAA,KAAAhG,KAAAkhB,KAAAlhB,KAAA0R,IAAAlW,IAAAwE,KAAAgG,GAAA,GAA6C,QAAA1J,QAAA+C,EAAA7D,GAAqB,IAAA,GAAA7E,KAAA6E,GAAA6D,EAAA1I,GAAA6E,EAAA7E,EAAyB,OAAA0I,GAAS,QAAA8hB,MAAA9hB,GAAiB,MAAAA,GAAAqB,EAAW,QAAA0gB,MAAA/hB,GAAiB,MAAAA,GAAAiB,EAAW,GAAAoQ,QAAA7Q,QAAA,SAA6B7J,QAAAD,QAAAqqB,aAAAC,aAAAhpB,WAAoDqU,SAAS2V,QAAA,EAAAvV,QAAA,GAAAwV,OAAA,GAAAtV,OAAA,IAAA8E,SAAA,GAAA5F,KAAA,GAA6DqW,KAAA,SAAAliB,GAAkB,GAAA7D,GAAA2D,KAAAuM,QAAAR,GAAuB1P,IAAAoQ,QAAAC,KAAA,aAA8B,IAAAlV,GAAA,WAAA0I,EAAAxH,OAAA,SAAoC2D,IAAAoQ,QAAAC,KAAAlV,GAAAwI,KAAA4R,OAAA1R,CAAiC,IAAApI,GAAAoI,EAAAjF,IAAAomB,mBAAgChlB,IAAAoQ,QAAAO,QAAAxV,EAAsB,KAAA,GAAA2I,GAAAH,KAAAuM,QAAAI,QAA+BxM,GAAAH,KAAAuM,QAAA2V,QAAwB/hB,IAAA,CAAK,GAAArJ,IAAAurB,KAAAC,KAAkBtiB,MAAAmhB,MAAAhhB,EAAA,GAAAoR,OAAAzZ,EAAAkqB,KAAAC,KAAAjiB,KAAAuM,QAAAoF,SAAA/Q,cAAA9I,EAAAkI,KAAAuiB,SAAAzqB,EAAAqI,GAAA9D,GAAAoQ,QAAAV,IAAA,2BAAA5L,EAAArI,EAAAY,QAAA2pB,KAAAC,MAAAxrB,GAAgK,MAAAkJ,MAAAmhB,MAAAnhB,KAAAuM,QAAA2V,SAAA3Q,OAAAzZ,EAAAkqB,KAAAC,KAAAjiB,KAAAuM,QAAAoF,SAAA/Q,cAAAvE,GAAAoQ,QAAAO,QAAA,cAAAhN,MAAqIwiB,YAAA,SAAAtiB,EAAA7D,GAA2B,IAAA,GAAA7E,GAAAwI,KAAAmhB,MAAAnhB,KAAAyiB,WAAApmB,IAAAvE,EAAAN,EAAAsa,MAAAwP,KAAAphB,EAAA,IAAAqhB,KAAArhB,EAAA,IAAAohB,KAAAphB,EAAA,IAAAqhB,KAAArhB,EAAA,KAAAC,KAAArJ,EAAA,EAAyGA,EAAAgB,EAAAY,OAAW5B,IAAA,CAAK,GAAAuB,GAAAb,EAAAoa,OAAA9Z,EAAAhB,GAAqBqJ,GAAAvF,MAAA,IAAAvC,EAAAe,GAAA4G,KAAA4R,OAAAvZ,EAAAe,IAAAooB,eAAAnpB,IAAsD,MAAA8H,IAASoO,QAAA,SAAArO,EAAA7D,EAAA7E,GAAyB,GAAAM,GAAAkI,KAAAmhB,MAAAnhB,KAAAyiB,WAAAviB,IAAAC,EAAAU,KAAA+F,IAAA,EAAA1G,GAAApJ,EAAAkJ,KAAAuM,QAAAM,OAAAzM,EAAAJ,KAAAuM,QAAA4V,OAAArrB,EAAAuJ,GAAA7I,EAAA4I,GAAAD,EAAAe,GAAA1J,EAAA,EAAA4I,GAAAD,EAAApJ,GAAgIuC,YAAa,OAAA0G,MAAA0iB,iBAAA5qB,EAAAga,OAAAzV,EAAA+D,GAAAD,EAAAE,GAAAhE,EAAA,EAAA+D,GAAAD,EAAAe,GAAApJ,EAAA8Z,OAAAvV,EAAA7E,EAAA2I,EAAApJ,GAAA,IAAAsF,GAAA2D,KAAA0iB,iBAAA5qB,EAAAga,MAAA,EAAA1R,EAAAD,EAAAE,EAAA,EAAAa,GAAApJ,EAAA8Z,OAAAzR,EAAA3I,EAAA2I,EAAApJ,GAAAsF,IAAA8D,EAAA,GAAAH,KAAA0iB,iBAAA5qB,EAAAga,MAAA,EAAAzR,EAAAD,EAAAD,EAAAe,GAAApJ,EAAA8Z,QAAA,EAAApa,EAAA2I,EAAApJ,GAAAA,EAAAuC,SAAAZ,OAAA3B,EAAA,MAAgP2rB,iBAAA,SAAAxiB,EAAA7D,EAAA7E,EAAAM,EAAAqI,EAAArJ,GAAwC,IAAA,GAAAuB,GAAA,EAAYA,EAAA6H,EAAAxH,OAAWL,IAAA,CAAK,GAAA+H,GAAA/D,EAAA6D,EAAA7H,GAAcvB,GAAAwC,SAAAsB,MAAiBvB,KAAA,EAAAE,WAAAsH,KAAAyO,MAAAtP,KAAAuM,QAAAM,QAAAzM,EAAAmB,EAAApB,EAAA3I,IAAAqJ,KAAAyO,MAAAtP,KAAAuM,QAAAM,QAAAzM,EAAAe,EAAAhB,EAAArI,MAAAmT,MAAA,IAAA7K,EAAAhH,GAAA4G,KAAA4R,OAAAxR,EAAAhH,IAAAK,WAAAgoB,qBAAArhB,OAA+KqiB,WAAA,SAAAviB,GAAwB,MAAAW,MAAAyD,IAAAtE,KAAAuM,QAAA2V,QAAArhB,KAAAgK,IAAA3K,EAAAF,KAAAuM,QAAAI,QAAA,KAAyE4V,SAAA,SAAAriB,EAAA7D,GAAwB,IAAA,GAAA7E,MAAAM,EAAAkI,KAAAuM,QAAA4V,QAAAniB,KAAAuM,QAAAM,OAAAhM,KAAA+F,IAAA,EAAAvK,IAAA8D,EAAA,EAA2EA,EAAAD,EAAAxH,OAAWyH,IAAA,CAAK,GAAArJ,GAAAoJ,EAAAC,EAAW,MAAArJ,EAAAyE,MAAAc,GAAA,CAAiBvF,EAAAyE,KAAAc,CAAS,KAAA,GAAAhE,GAAA2H,KAAAmhB,MAAA9kB,EAAA,GAAA+D,EAAA/H,EAAA0Z,OAAAjb,EAAAyK,EAAAzK,EAAAqK,EAAArJ,GAAAuI,GAAA,EAAAa,EAAApK,EAAA2W,UAAA1W,EAAAD,EAAAyK,EAAAL,EAAA9I,EAAAtB,EAAAqK,EAAAD,EAAAhK,EAAA,EAAuFA,EAAAkJ,EAAA1H,OAAWxB,IAAA,CAAK,GAAAC,GAAAkB,EAAAuZ,OAAAxR,EAAAlJ,GAAqBmF,GAAAlF,EAAAoE,OAAA8E,GAAA,EAAAlJ,EAAAoE,KAAAc,EAAAtF,GAAAI,EAAAoK,EAAApK,EAAAsW,UAAArV,GAAAjB,EAAAgK,EAAAhK,EAAAsW,UAAAvM,GAAA/J,EAAAsW,WAA+EjW,EAAAoD,KAAAyF,EAAA+gB,cAAArqB,EAAAmK,EAAA9I,EAAA8I,EAAAA,GAAA,GAAApK,IAAyC,MAAAU,OAChnG+Z,OAAA,KAAYoR,IAAA,SAAAjiB,QAAA7J,OAAAD,SACf,YAAa,SAAAgsB,WAAA1iB,EAAApJ,GAAwB,KAAAkJ,eAAA4iB,YAAA,MAAA,IAAAA,WAAA1iB,EAAApJ,EAA0D,IAAAkJ,KAAA9G,KAAAgH,MAAAF,KAAAtH,OAAAsH,KAAA9G,KAAAR,OAAAsH,KAAA6iB,QAAA/rB,GAAAiqB,eAAA7gB,EAAA,IAAA,GAAAG,GAAAQ,KAAAwN,MAAArO,KAAAtH,OAAA,GAAqH2H,GAAA,EAAKA,IAAAL,KAAA8iB,MAAAziB,GAAkB,QAAA0gB,gBAAA7gB,EAAApJ,GAA6B,MAAAoJ,GAAApJ,GAAA,EAAAoJ,EAAApJ,EAAA,EAAA,EAAsB,QAAA4b,MAAAxS,EAAApJ,EAAAuJ,GAAqB,GAAAvI,GAAAoI,EAAApJ,EAAWoJ,GAAApJ,GAAAoJ,EAAAG,GAAAH,EAAAG,GAAAvI,EAAiBjB,OAAAD,QAAAgsB,UAAAA,UAAA1qB,WAA8C0C,KAAA,SAAAsF,GAAiBF,KAAA9G,KAAA0B,KAAAsF,GAAAF,KAAAtH,SAAAsH,KAAA+iB,IAAA/iB,KAAAtH,OAAA,IAAwDyV,IAAA,WAAgB,GAAAjO,GAAAF,KAAA9G,KAAA,EAAmB,OAAA8G,MAAA9G,KAAA,GAAA8G,KAAA9G,KAAA8G,KAAAtH,OAAA,GAAAsH,KAAAtH,SAAAsH,KAAA9G,KAAAiV,MAAAnO,KAAA8iB,MAAA,GAAA5iB,GAA2F8iB,KAAA,WAAiB,MAAAhjB,MAAA9G,KAAA,IAAoB6pB,IAAA,SAAA7iB,GAAiB,IAAA,GAAApJ,GAAAkJ,KAAA9G,KAAAmH,EAAAL,KAAA6iB,QAAmC3iB,EAAA,GAAI,CAAE,GAAApI,GAAA+I,KAAAwN,OAAAnO,EAAA,GAAA,EAA0B,MAAAG,EAAAvJ,EAAAoJ,GAAApJ,EAAAgB,IAAA,GAAA,KAA2B4a,MAAA5b,EAAAgB,EAAAoI,GAAAA,EAAApI,IAAiBgrB,MAAA,SAAA5iB,GAAmB,IAAA,GAAApJ,GAAAkJ,KAAA9G,KAAAmH,EAAAL,KAAA6iB,QAAA/qB,EAAAkI,KAAAtH,SAAkD,CAAE,GAAA2D,GAAA,EAAA6D,EAAA,EAAAgB,EAAA7E,EAAA,EAAAhE,EAAA6H,CAAsB,IAAA7D,EAAAvE,GAAAuI,EAAAvJ,EAAAuF,GAAAvF,EAAAuB,IAAA,IAAAA,EAAAgE,GAAA6E,EAAApJ,GAAAuI,EAAAvJ,EAAAoK,GAAApK,EAAAuB,IAAA,IAAAA,EAAA6I,GAAA7I,IAAA6H,EAAA,MAAsEwS,MAAA5b,EAAAuB,EAAA6H,GAAAA,EAAA7H,UACx4B4qB,IAAA,SAAAviB,QAAA7J,OAAAD,SACJ,kBAAAa,QAAA6K,OAAAzL,OAAAD,QAAA,SAAAsJ,EAAA7D,GAA8D6D,EAAAgjB,OAAA7mB,EAAA6D,EAAAhI,UAAAT,OAAA6K,OAAAjG,EAAAnE,WAAkDirB,aAAa/rB,MAAA8I,EAAAtI,YAAA,EAAAwrB,UAAA,EAAAzrB,cAAA,MAAqDd,OAAAD,QAAA,SAAAsJ,EAAA7D,GAA8B6D,EAAAgjB,OAAA7mB,CAAW,IAAA7E,GAAA,YAAmBA,GAAAU,UAAAmE,EAAAnE,UAAAgI,EAAAhI,UAAA,GAAAV,GAAA0I,EAAAhI,UAAAirB,YAAAjjB,QAC1OmjB,IAAA,SAAA3iB,QAAA7J,OAAAD,SACJC,OAAAD,QAAA,SAAAY,GAA2B,MAAAA,IAAA,gBAAAA,IAAA,kBAAAA,GAAAkgB,MAAA,kBAAAlgB,GAAA8rB,MAAA,kBAAA9rB,GAAA+rB,gBACvBC,IAAA,SAAA9iB,QAAA7J,OAAAD,UACJ,SAAA8e,QAAA5V,QACA,QAAA2jB,SAAApnB,EAAA8D,GAAsB,GAAAD,IAAOwjB,QAAAC,QAAAC,eAAgC,OAAAnrB,WAAAC,QAAA,IAAAwH,EAAAsV,MAAA/c,UAAA,IAAAA,UAAAC,QAAA,IAAAwH,EAAA2jB,OAAAprB,UAAA,IAAAqrB,UAAA3jB,GAAAD,EAAA6jB,WAAA5jB,EAAAA,GAAAvJ,QAAAotB,QAAA9jB,EAAAC,GAAA8jB,YAAA/jB,EAAA6jB,cAAA7jB,EAAA6jB,YAAA,GAAAE,YAAA/jB,EAAAsV,SAAAtV,EAAAsV,MAAA,GAAAyO,YAAA/jB,EAAA2jB,UAAA3jB,EAAA2jB,QAAA,GAAAI,YAAA/jB,EAAAgkB,iBAAAhkB,EAAAgkB,eAAA,GAAAhkB,EAAA2jB,SAAA3jB,EAAAyjB,QAAAQ,kBAAAC,YAAAlkB,EAAA7D,EAAA6D,EAAAsV,OAA2X,QAAA2O,kBAAA9nB,EAAA8D,GAA+B,GAAAD,GAAAujB,QAAAY,OAAAlkB,EAAwB,OAAAD,GAAA,KAAAujB,QAAAI,OAAA3jB,GAAA,GAAA,IAAA7D,EAAA,KAAAonB,QAAAI,OAAA3jB,GAAA,GAAA,IAAA7D,EAAyE,QAAAunB,gBAAAvnB,EAAA8D,GAA6B,MAAA9D,GAAS,QAAAioB,aAAAjoB,GAAwB,GAAA8D,KAAS,OAAA9D,GAAAsX,QAAA,SAAAtX,EAAA6D,GAA+BC,EAAA9D,IAAA,IAAQ8D,EAAI,QAAAikB,aAAA/nB,EAAA8D,EAAAD,GAA4B,GAAA7D,EAAA6nB,eAAA/jB,GAAAokB,WAAApkB,EAAAsjB,UAAAtjB,EAAAsjB,UAAA7sB,QAAA6sB,WAAAtjB,EAAAgjB,aAAAhjB,EAAAgjB,YAAAjrB,YAAAiI,GAAA,CAA0H,GAAArI,GAAAqI,EAAAsjB,QAAAvjB,EAAA7D,EAAqB,OAAAmoB,UAAA1sB,KAAAA,EAAAssB,YAAA/nB,EAAAvE,EAAAoI,IAAApI,EAA6C,GAAAhB,GAAA2tB,gBAAApoB,EAAA8D,EAA2B,IAAArJ,EAAA,MAAAA,EAAc,IAAAU,GAAAC,OAAAyY,KAAA/P,GAAA9H,EAAAisB,YAAA9sB,EAAsC,IAAA6E,EAAA0nB,aAAAvsB,EAAAC,OAAA4c,oBAAAlU,IAAAukB,QAAAvkB,KAAA3I,EAAAoc,QAAA,YAAA,GAAApc,EAAAoc,QAAA,gBAAA,GAAA,MAAA+Q,aAAAxkB,EAA4I,IAAA,IAAA3I,EAAAkB,OAAA,CAAiB,GAAA6rB,WAAApkB,GAAA,CAAkB,GAAAC,GAAAD,EAAA7I,KAAA,KAAA6I,EAAA7I,KAAA,EAA4B,OAAA+E,GAAAsnB,QAAA,YAAAvjB,EAAA,IAAA,WAA8C,GAAAwkB,SAAAzkB,GAAA,MAAA9D,GAAAsnB,QAAAkB,OAAA3sB,UAAAuf,SAAAxgB,KAAAkJ,GAAA,SAA4E,IAAA2kB,OAAA3kB,GAAA,MAAA9D,GAAAsnB,QAAAtB,KAAAnqB,UAAAuf,SAAAxgB,KAAAkJ,GAAA,OAAsE,IAAAukB,QAAAvkB,GAAA,MAAAwkB,aAAAxkB,GAAoC,GAAAhJ,GAAA,GAAAkJ,GAAA,EAAAtJ,GAAA,IAAmB,IAAyG,IAAlGkd,QAAA9T,KAAAE,GAAA,EAAAtJ,GAAA,IAAA,MAAAwtB,WAAApkB,KAA6EhJ,EAAA,cAA5BgJ,EAAA7I,KAAA,KAAA6I,EAAA7I,KAAA,IAA4B,KAAqBstB,SAAAzkB,KAAAhJ,EAAA,IAAA0tB,OAAA3sB,UAAAuf,SAAAxgB,KAAAkJ,IAAA2kB,OAAA3kB,KAAAhJ,EAAA,IAAAkrB,KAAAnqB,UAAA6sB,YAAA9tB,KAAAkJ,IAAAukB,QAAAvkB,KAAAhJ,EAAA,IAAAwtB,YAAAxkB,IAAA,IAAA3I,EAAAkB,UAAA2H,GAAA,GAAAF,EAAAzH,QAAA,MAAA3B,GAAA,GAAAI,EAAAJ,EAAA,EAAsM,IAAAmJ,EAAA,EAAA,MAAA0kB,UAAAzkB,GAAA9D,EAAAsnB,QAAAkB,OAAA3sB,UAAAuf,SAAAxgB,KAAAkJ,GAAA,UAAA9D,EAAAsnB,QAAA,WAAA,UAAgHtnB,GAAAqnB,KAAA9oB,KAAAuF,EAAe,IAAAR,EAAM,OAAAA,GAAAU,EAAA2kB,YAAA3oB,EAAA8D,EAAAD,EAAA7H,EAAAb,GAAAA,EAAAyD,IAAA,SAAAnD,GAAoD,MAAAmtB,gBAAA5oB,EAAA8D,EAAAD,EAAA7H,EAAAP,EAAAuI,KAAmChE,EAAAqnB,KAAAvV,MAAA+W,qBAAAvlB,EAAAxI,EAAAJ,GAA2C,QAAA0tB,iBAAApoB,EAAA8D,GAA8B,GAAA8jB,YAAA9jB,GAAA,MAAA9D,GAAAsnB,QAAA,YAAA,YAA4D,IAAAa,SAAArkB,GAAA,CAAgB,GAAAD,GAAA,IAAAwN,KAAAC,UAAAxN,GAAAglB,QAAA,SAAA,IAAAA,QAAA,KAAA,OAAAA,QAAA,OAAA,KAAA,GAA6F,OAAA9oB,GAAAsnB,QAAAzjB,EAAA,UAA6B,MAAAklB,UAAAjlB,GAAA9D,EAAAsnB,QAAA,GAAAxjB,EAAA,UAAA2jB,UAAA3jB,GAAA9D,EAAAsnB,QAAA,GAAAxjB,EAAA,WAAAklB,OAAAllB,GAAA9D,EAAAsnB,QAAA,OAAA,YAAA,GAA6H,QAAAgB,aAAAtoB,GAAwB,MAAA,IAAAkE,MAAArI,UAAAuf,SAAAxgB,KAAAoF,GAAA,IAA+C,QAAA2oB,aAAA3oB,EAAA8D,EAAAD,EAAApI,EAAAhB,GAAgC,IAAA,GAAAU,MAAAa,EAAA,EAAA+H,EAAAD,EAAAzH,OAA4BL,EAAA+H,IAAI/H,EAAAF,eAAAgI,EAAA+X,OAAA7f,IAAAb,EAAAoD,KAAAqqB,eAAA5oB,EAAA8D,EAAAD,EAAApI,EAAAogB,OAAA7f,IAAA,IAAAb,EAAAoD,KAAA,GAAwF,OAAA9D,GAAA6c,QAAA,SAAA7c,GAA6BA,EAAAwuB,MAAA,UAAA9tB,EAAAoD,KAAAqqB,eAAA5oB,EAAA8D,EAAAD,EAAApI,EAAAhB,GAAA,MAAuDU,EAAI,QAAAytB,gBAAA5oB,EAAA8D,EAAAD,EAAApI,EAAAhB,EAAAU,GAAqC,GAAAa,GAAA+H,EAAAjJ,CAAU,IAAAA,EAAAM,OAAAgd,yBAAAtU,EAAArJ,KAA4CM,MAAA+I,EAAArJ,IAAWK,EAAAU,IAAAuI,EAAAjJ,EAAA2Z,IAAAzU,EAAAsnB,QAAA,kBAAA,WAAAtnB,EAAAsnB,QAAA,WAAA,WAAAxsB,EAAA2Z,MAAA1Q,EAAA/D,EAAAsnB,QAAA,WAAA,YAAAxrB,eAAAL,EAAAhB,KAAAuB,EAAA,IAAAvB,EAAA,KAAAsJ,IAAA/D,EAAAqnB,KAAA9P,QAAAzc,EAAAC,OAAA,GAAAgJ,EAAAilB,OAAAnlB,GAAAkkB,YAAA/nB,EAAAlF,EAAAC,MAAA,MAAAgtB,YAAA/nB,EAAAlF,EAAAC,MAAA8I,EAAA,IAAA0T,QAAA,OAAA,IAAAxT,EAAA5I,EAAA4I,EAAA3C,MAAA,MAAAxC,IAAA,SAAAoB,GAA6T,MAAA,KAAAA,IAAa4B,KAAA,MAAAoY,OAAA,GAAA,KAAAjW,EAAA3C,MAAA,MAAAxC,IAAA,SAAAoB,GAA0D,MAAA,MAAAA,IAAc4B,KAAA,OAAAmC,EAAA/D,EAAAsnB,QAAA,aAAA,YAAAM,YAAA5rB,GAAA,CAAoE,GAAAb,GAAAV,EAAAwuB,MAAA,SAAA,MAAAllB,IAAgC/H,EAAAqV,KAAAC,UAAA,GAAA7W,IAAAwuB,MAAA,iCAAAjtB,EAAAA,EAAAge,OAAA,EAAAhe,EAAAK,OAAA,GAAAL,EAAAgE,EAAAsnB,QAAAtrB,EAAA,UAAAA,EAAAA,EAAA8sB,QAAA,KAAA,OAAAA,QAAA,OAAA,KAAAA,QAAA,WAAA,KAAA9sB,EAAAgE,EAAAsnB,QAAAtrB,EAAA,WAA8M,MAAAA,GAAA,KAAA+H,EAAgB,QAAA8kB,sBAAA7oB,EAAA8D,EAAAD,GAAqC,GAAApI,GAAA,CAAmH,OAAnHuE,GAAA0X,OAAA,SAAA1X,EAAA8D,GAAiC,MAAArI,KAAAqI,EAAAyT,QAAA,OAAA,GAAA9b,IAAAuE,EAAA8D,EAAAglB,QAAA,kBAAA,IAAAzsB,OAAA,GAA8E,GAAI,GAAAwH,EAAA,IAAA,KAAAC,EAAA,GAAAA,EAAA,OAAA,IAAA9D,EAAA4B,KAAA,SAAA,IAAAiC,EAAA,GAAAA,EAAA,GAAAC,EAAA,IAAA9D,EAAA4B,KAAA,MAAA,IAAAiC,EAAA,GAAmG,QAAA+T,SAAA5X,GAAoB,MAAAqU,OAAAuD,QAAA5X,GAAwB,QAAAynB,WAAAznB,GAAsB,MAAA,iBAAAA,GAA0B,QAAAgpB,QAAAhpB,GAAmB,MAAA,QAAAA,EAAgB,QAAAkpB,mBAAAlpB,GAA8B,MAAA,OAAAA,EAAe,QAAA+oB,UAAA/oB,GAAqB,MAAA,gBAAAA,GAAyB,QAAAmoB,UAAAnoB,GAAqB,MAAA,gBAAAA,GAAyB,QAAAmpB,UAAAnpB,GAAqB,MAAA,gBAAAA,GAAyB,QAAA4nB,aAAA5nB,GAAwB,WAAA,KAAAA,EAAkB,QAAAuoB,UAAAvoB,GAAqB,MAAAopB,UAAAppB,IAAA,oBAAAqpB,eAAArpB,GAA0D,QAAAopB,UAAAppB,GAAqB,MAAA,gBAAAA,IAAA,OAAAA,EAAmC,QAAAyoB,QAAAzoB,GAAmB,MAAAopB,UAAAppB,IAAA,kBAAAqpB,eAAArpB,GAAwD,QAAAqoB,SAAAroB,GAAoB,MAAAopB,UAAAppB,KAAA,mBAAAqpB,eAAArpB,IAAAA,YAAAkE,QAA+E,QAAAgkB,YAAAloB,GAAuB,MAAA,kBAAAA,GAA2B,QAAAspB,aAAAtpB,GAAwB,MAAA,QAAAA,GAAA,iBAAAA,IAAA,gBAAAA,IAAA,gBAAAA,IAAA,gBAAAA,QAAA,KAAAA,EAAwH,QAAAqpB,gBAAArpB,GAA2B,MAAA5E,QAAAS,UAAAuf,SAAAxgB,KAAAoF,GAAyC,QAAAupB,KAAAvpB,GAAgB,MAAAA,GAAA,GAAA,IAAAA,EAAAob,SAAA,IAAApb,EAAAob,SAAA,IAA8C,QAAAoO,aAAqB,GAAAxpB,GAAA,GAAAgmB,MAAAliB,GAAAylB,IAAAvpB,EAAAypB,YAAAF,IAAAvpB,EAAA0pB,cAAAH,IAAAvpB,EAAA2pB,eAAA/nB,KAAA,IAAuF,QAAA5B,EAAA4pB,UAAAC,OAAA7pB,EAAA8pB,YAAAhmB,GAAAlC,KAAA,KAAqD,QAAA9F,gBAAAkE,EAAA8D,GAA6B,MAAA1I,QAAAS,UAAAC,eAAAlB,KAAAoF,EAAA8D,GAAiD,GAAAimB,cAAA,UAA4BxvB,SAAA2P,OAAA,SAAAlK,GAA2B,IAAAmoB,SAAAnoB,GAAA,CAAiB,IAAA,GAAA8D,MAAAD,EAAA,EAAiBA,EAAAzH,UAAAC,OAAmBwH,IAAAC,EAAAvF,KAAA6oB,QAAAhrB,UAAAyH,IAAkC,OAAAC,GAAAlC,KAAA,KAAmB,IAAA,GAAAiC,GAAA,EAAApI,EAAAW,UAAA3B,EAAAgB,EAAAY,OAAAlB,EAAA0gB,OAAA7b,GAAA8oB,QAAAiB,aAAA,SAAA/pB,GAAgF,GAAA,OAAAA,EAAA,MAAA,GAAsB,IAAA6D,GAAApJ,EAAA,MAAAuF,EAAiB,QAAAA,GAAU,IAAA,KAAA,MAAA6b,QAAApgB,EAAAoI,KAA+B,KAAA,KAAA,MAAAmmB,QAAAvuB,EAAAoI,KAA+B,KAAA,KAAA,IAAa,MAAAwN,MAAAC,UAAA7V,EAAAoI,MAA8B,MAAA7D,GAAS,MAAA,aAAmB,QAAA,MAAAA,MAAkBhE,EAAAP,EAAAoI,GAASA,EAAApJ,EAAIuB,EAAAP,IAAAoI,GAAA1I,GAAA6tB,OAAAhtB,KAAAotB,SAAAptB,GAAA,IAAAA,EAAA,IAAAorB,QAAAprB,EAAyD,OAAAb,IAASZ,QAAA0vB,UAAA,SAAAjqB,EAAA8D,GAAiC,QAAAD,KAAa,IAAApI,EAAA,CAAO,GAAA4d,QAAA6Q,iBAAA,KAAA,IAAAhmB,OAAAJ,EAA+CuV,SAAA8Q,iBAAA/Z,QAAAga,MAAAtmB,GAAAsM,QAAAia,MAAAvmB,GAAArI,GAAA,EAAgE,MAAAuE,GAAA0jB,MAAA/f,KAAAvH,WAA+B,GAAAwrB,YAAAnkB,OAAA4V,SAAA,MAAA,YAAiD,MAAA9e,SAAA0vB,UAAAjqB,EAAA8D,GAAA4f,MAAA/f,KAAAvH,WAAqD,KAAA,IAAAid,QAAAiR,cAAA,MAAAtqB,EAAuC,IAAAvE,IAAA,CAAS,OAAAoI,GAAU,IAAa0mB,cAAbC,SAA2BjwB,SAAAkwB,SAAA,SAAAzqB,GAA6B,GAAA4nB,YAAA2C,gBAAAA,aAAAlR,QAAAuK,IAAA8G,YAAA,IAAA1qB,EAAAA,EAAA2B,eAAA6oB,OAAAxqB,GAAA,GAAA,GAAAwoB,QAAA,MAAAxoB,EAAA,MAAA,KAAA2qB,KAAAJ,cAAA,CAA0J,GAAAzmB,GAAAuV,QAAAuR,GAAkBJ,QAAAxqB,GAAA,WAAqB,GAAA6D,GAAAtJ,QAAA2P,OAAAwZ,MAAAnpB,QAAA6B,UAA8CgU,SAAAia,MAAA,YAAArqB,EAAA8D,EAAAD,QAAkC2mB,QAAAxqB,GAAA,YAA4B,OAAAwqB,QAAAxqB,IAAiBzF,QAAA6sB,QAAAA,QAAAA,QAAAI,QAAyCqD,MAAA,EAAA,IAAAC,QAAA,EAAA,IAAAC,WAAA,EAAA,IAAAC,SAAA,EAAA,IAAAC,OAAA,GAAA,IAAAC,MAAA,GAAA,IAAAC,OAAA,GAAA,IAAAC,MAAA,GAAA,IAAAC,MAAA,GAAA,IAAAC,OAAA,GAAA,IAAAC,SAAA,GAAA,IAAAC,KAAA,GAAA,IAAAC,QAAA,GAAA,KAAsLrE,QAAAY,QAAiB0D,QAAA,OAAAC,OAAA,SAAAC,QAAA,SAAAtvB,UAAA,OAAAuvB,KAAA,OAAA1qB,OAAA,QAAA2qB,KAAA,UAAAC,OAAA,OAAwHxxB,QAAAqd,QAAAA,QAAArd,QAAAktB,UAAAA,UAAAltB,QAAAyuB,OAAAA,OAAAzuB,QAAA2uB,kBAAAA,kBAAA3uB,QAAAwuB,SAAAA,SAAAxuB,QAAA4tB,SAAAA,SAAA5tB,QAAA4uB,SAAAA,SAAA5uB,QAAAqtB,YAAAA,YAAArtB,QAAAguB,SAAAA,SAAAhuB,QAAA6uB,SAAAA,SAAA7uB,QAAAkuB,OAAAA,OAAAluB,QAAA8tB,QAAAA,QAAA9tB,QAAA2tB,WAAAA,WAAA3tB,QAAA+uB,YAAAA,YAAA/uB,QAAAyhB,SAAA3X,QAAA,qBAAob,IAAAwlB,SAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAqFtvB,SAAAmV,IAAA,WAAuBU,QAAAV,IAAA,UAAA8Z,YAAAjvB,QAAA2P,OAAAwZ,MAAAnpB,QAAA6B,aAA2E7B,QAAAyxB,SAAA3nB,QAAA,YAAA9J,QAAAotB,QAAA,SAAA3nB,EAAA8D,GAAoE,IAAAA,IAAAslB,SAAAtlB,GAAA,MAAA9D,EAA6B,KAAA,GAAA6D,GAAAzI,OAAAyY,KAAA/P,GAAArI,EAAAoI,EAAAxH,OAAoCZ,KAAIuE,EAAA6D,EAAApI,IAAAqI,EAAAD,EAAApI,GAAiB,OAAAuE,MAC3qOpF,KAAA+I,KAAAU,QAAA,YAAA,mBAAAZ,QAAAA,OAAA,mBAAAC,MAAAA,KAAA,mBAAA5G,QAAAA,aAEEmvB,qBAAA,GAAA1R,SAAA,GAAAyR,SAAA,KAAoDE,IAAA,SAAA7nB,QAAA7J,OAAAD,SACvDC,OAAAD,QAAA4xB,WAAA9nB,QAAA,uBAAA7J,OAAAD,QAAA6xB,kBAAA/nB,QAAA,8BAAA7J,OAAAD,QAAA8xB,gBAAAhoB,QAAA,8BACGioB,sBAAA,GAAAC,6BAAA,GAAAC,2BAAA,KAAuFC,IAAA,SAAApoB,QAAA7J,OAAAD,SAC1F,YAAa,SAAA4xB,YAAAnsB,EAAA8D,GAAyBH,KAAA+oB,OAAA1sB,EAAAke,WAAAyO,YAAoC7oB,GAAI,QAAA6oB,UAAA3sB,EAAA8D,EAAArJ,GAAyB,GAAA,IAAAuF,EAAA,CAAU,GAAA6D,GAAA,GAAAwoB,iBAAA5xB,EAAAA,EAAA0jB,aAAA1jB,EAAA2hB,IAAkDvY,GAAAxH,SAAAyH,EAAAD,EAAA5I,MAAA4I,IAAyB,GAAAwoB,iBAAAhoB,QAAA,oBAAiD7J,QAAAD,QAAA4xB,aAC1OS,oBAAA,KAAuBC,IAAA,SAAAxoB,QAAA7J,OAAAD,SAC1B,YAAa,SAAA6xB,mBAAApsB,EAAA6D,EAAAC,EAAArJ,EAAAuJ,GAAsCL,KAAAvG,cAAkBuG,KAAA6M,OAAA1M,EAAAH,KAAA3G,KAAA,EAAA2G,KAAAmpB,KAAA9sB,EAAA2D,KAAAopB,WAAA,EAAAppB,KAAAqpB,MAAAvyB,EAAAkJ,KAAAspB,QAAAjpB,EAAAhE,EAAAke,WAAAgP,YAAAvpB,KAAAE,GAAsH,QAAAqpB,aAAAltB,EAAA6D,EAAAC,GAA4B,GAAA9D,EAAA6D,EAAA9G,GAAA+G,EAAAqa,aAAA,GAAAne,EAAAmtB,QAAArpB,EAAAD,GAAA,GAAA7D,EAAA6D,EAAA7G,KAAA8G,EAAAqa,aAAA,GAAAne,IAAA6D,EAAAkpB,UAAAjpB,EAAAsY,KAAgG,QAAA+Q,SAAAntB,EAAA6D,GAAsB,IAAA,GAAAC,GAAA9D,EAAAme,aAAAne,EAAAoc,IAA+Bpc,EAAAoc,IAAAtY,GAAQ,CAAE,GAAArJ,GAAAoJ,EAAAmpB,MAAAhtB,EAAAme,cAAAna,EAAAH,EAAAopB,QAAAjtB,EAAAme,aAA0Dta,GAAAzG,WAAA3C,GAAAuJ,GAAmB,QAAAopB,eAAAptB,GAA0B,GAAA6D,GAAA7D,EAAA3D,MAAe,IAAAwH,GAAA,EAAA,OAAA7D,EAAkB,KAAA,GAAA8D,GAAArJ,EAAAuJ,KAAA7I,EAAA,EAAqBA,EAAA0I,EAAI1I,IAAA,CAAK,GAAAM,GAAAwP,WAAAjL,EAAA7E,GAAuB,KAAAM,QAAA,KAAAhB,IAAAA,EAAAgB,EAAA,GAAAhB,IAAAgB,EAAA,GAAAqI,GAAAE,EAAAzF,KAAAuF,GAAAA,GAAA9D,EAAA7E,KAAA2I,EAAAvF,KAAAyB,EAAA7E,KAA0E,MAAA2I,IAAAE,EAAAzF,KAAAuF,GAAAE,EAAsB,QAAAiH,YAAAjL,GAAuB,IAAA,GAAA6D,GAAAC,EAAArJ,EAAA,EAAAuJ,EAAA,EAAA7I,EAAA6E,EAAA3D,OAAAZ,EAAAN,EAAA,EAAqC6I,EAAA7I,EAAIM,EAAAuI,IAAAH,EAAA7D,EAAAgE,GAAAF,EAAA9D,EAAAvE,GAAAhB,IAAAqJ,EAAAoB,EAAArB,EAAAqB,IAAArB,EAAAiB,EAAAhB,EAAAgB,EAA2C,OAAArK,GAAS,GAAAqmB,OAAAzc,QAAA,iBAAoC7J,QAAAD,QAAA6xB,kBAAAA,kBAAAiB,OAAA,UAAA,QAAA,aAAA,WAAAjB,kBAAAvwB,UAAAyxB,aAAA,WAAwJ,GAAAttB,GAAA2D,KAAAmpB,IAAgB9sB,GAAAoc,IAAAzY,KAAAopB,SAAqB,KAAA,GAAAlpB,GAAAC,EAAA9D,EAAAme,aAAAne,EAAAoc,IAAA3hB,EAAA,EAAAuJ,EAAA,EAAA7I,EAAA,EAAAM,EAAA,EAAAO,KAAsDgE,EAAAoc,IAAAtY,GAAQ,CAAE,IAAAE,EAAA,CAAO,GAAAjI,GAAAiE,EAAAme,YAAqB1jB,GAAA,EAAAsB,EAAAiI,EAAAjI,GAAA,EAAa,GAAAiI,IAAA,IAAAvJ,GAAA,IAAAA,EAAAU,GAAA6E,EAAA6e,cAAApjB,GAAAuE,EAAA6e,cAAA,IAAApkB,IAAAoJ,GAAA7H,EAAAuC,KAAAsF,GAAAA,MAAAA,EAAAtF,KAAA,GAAAuiB,OAAA3lB,EAAAM,QAA4G,CAAK,GAAA,IAAAhB,EAAA,KAAA,IAAAyJ,OAAA,mBAAAzJ,EAA+CoJ,IAAAA,EAAAtF,KAAAsF,EAAA,GAAAkd,UAAyB,MAAAld,IAAA7H,EAAAuC,KAAAsF,GAAA7H,GAAsBowB,kBAAAvwB,UAAA0xB,KAAA,WAA6C,GAAAvtB,GAAA2D,KAAAmpB,IAAgB9sB,GAAAoc,IAAAzY,KAAAopB,SAAqB,KAAA,GAAAlpB,GAAA7D,EAAAme,aAAAne,EAAAoc,IAAAtY,EAAA,EAAArJ,EAAA,EAAAuJ,EAAA,EAAA7I,EAAA,EAAAM,EAAA,EAAA,EAAAO,GAAA,EAAA,EAAAD,EAAA,EAAA,EAAA8I,GAAA,EAAA,EAA6E7E,EAAAoc,IAAAvY,GAAQ,CAAE,IAAApJ,EAAA,CAAO,GAAAsJ,GAAA/D,EAAAme,YAAqBra,GAAA,EAAAC,EAAAtJ,EAAAsJ,GAAA,EAAa,GAAAtJ,IAAA,IAAAqJ,GAAA,IAAAA,EAAAE,GAAAhE,EAAA6e,cAAA1jB,GAAA6E,EAAA6e,cAAA7a,EAAAvI,IAAAA,EAAAuI,GAAAA,EAAAhI,IAAAA,EAAAgI,GAAA7I,EAAAY,IAAAA,EAAAZ,GAAAA,EAAA0J,IAAAA,EAAA1J,OAAsG,IAAA,IAAA2I,EAAA,KAAA,IAAAI,OAAA,mBAAAJ,GAAoD,OAAArI,EAAAM,EAAAC,EAAA6I,IAAgBunB,kBAAAvwB,UAAA2xB,UAAA,SAAAxtB,EAAA6D,EAAAC,GAAuD,QAAArJ,GAAAuF,GAAc,IAAA,GAAA6D,GAAA,EAAYA,EAAA7D,EAAA3D,OAAWwH,IAAA,CAAK,GAAAC,GAAA9D,EAAA6D,GAAApJ,EAAA,IAAA,KAAAqJ,EAAAgB,EAAA/I,GAAAN,CAA+BuE,GAAA6D,IAAA,KAAAC,EAAAoB,EAAAlJ,GAAAP,EAAA,IAAA,IAAA+I,KAAAgG,GAAAhG,KAAAkhB,KAAAlhB,KAAA0R,IAAAzb,EAAA+J,KAAAgG,GAAA,MAAA,KAA4E,GAAAxG,GAAA7I,EAAAM,EAAAkI,KAAA6M,OAAAhM,KAAA+F,IAAA,EAAAzG,GAAA9H,EAAA2H,KAAA6M,OAAAxQ,EAAAjE,EAAA4H,KAAA6M,OAAA3M,EAAAgB,EAAAlB,KAAA2pB,eAAAvpB,EAAAqoB,kBAAAiB,MAAA1pB,KAAA3G,KAA+H,QAAA2G,KAAA3G,MAAkB,IAAA,GAAA,GAAAhC,KAAgB,KAAAgJ,EAAA,EAAQA,EAAAa,EAAAxI,OAAW2H,IAAAhJ,EAAAgJ,GAAAa,EAAAb,GAAA,EAAiBvJ,GAAAoK,EAAA7J,EAAS,MAAM,KAAA,GAAA,IAAAgJ,EAAA,EAAeA,EAAAa,EAAAxI,OAAW2H,IAAAvJ,EAAAoK,EAAAb,GAAY,MAAM,KAAA,GAAA,IAAAa,EAAAuoB,cAAAvoB,GAAAb,EAAA,EAAkCA,EAAAa,EAAAxI,OAAW2H,IAAA,IAAA7I,EAAA,EAAYA,EAAA0J,EAAAb,GAAA3H,OAAclB,IAAAV,EAAAoK,EAAAb,GAAA7I,IAAe,IAAA0J,EAAAxI,OAAAwI,EAAAA,EAAA,GAAAd,EAAA,QAAAA,CAAgC,IAAAT,IAAOtG,KAAA,UAAAE,UAAyBF,KAAA+G,EAAA5G,YAAA0H,GAAqBzH,WAAAuG,KAAAvG,WAA6B,OAAA,MAAAuG,QAAAL,EAAAvG,GAAA4G,KAAA5G,IAAAuG,KAC7yEmqB,iBAAA,KAAoBC,IAAA,SAAArpB,QAAA7J,OAAAD,SACvB,YAAa,SAAA8xB,iBAAArsB,EAAA6D,GAA8BF,KAAAyG,QAAA,EAAAzG,KAAA1I,KAAA,KAAA0I,KAAA6M,OAAA,KAAA7M,KAAAtH,OAAA,EAAAsH,KAAAmpB,KAAA9sB,EAAA2D,KAAAqpB,SAAArpB,KAAAspB,WAAAtpB,KAAAgqB,aAAA3tB,EAAAke,WAAA0P,UAAAjqB,KAAAE,GAAAF,KAAAtH,OAAAsH,KAAAgqB,UAAAtxB,OAA0L,QAAAuxB,WAAA5tB,EAAA6D,EAAAC,GAA0B,KAAA9D,EAAA6D,EAAAuG,QAAAtG,EAAAqa,aAAA,IAAAne,EAAA6D,EAAA5I,KAAA6I,EAAAkb,aAAA,IAAAhf,EAAA6D,EAAA2M,OAAA1M,EAAAqa,aAAA,IAAAne,EAAA6D,EAAA8pB,UAAApvB,KAAAuF,EAAAsY,KAAA,IAAApc,EAAA6D,EAAAmpB,MAAAzuB,KAAAuF,EAAAkb,cAAA,IAAAhf,GAAA6D,EAAAopB,QAAA1uB,KAAAsvB,iBAAA/pB,IAAsM,QAAA+pB,kBAAA7tB,GAA6B,IAAA,GAAA6D,GAAA,KAAAC,EAAA9D,EAAAme,aAAAne,EAAAoc,IAAsCpc,EAAAoc,IAAAtY,GAAQ,CAAE,GAAAE,GAAAhE,EAAAme,cAAA,CAAwBta,GAAA,IAAAG,EAAAhE,EAAAgf,aAAA,IAAAhb,EAAAhE,EAAA0e,YAAA,IAAA1a,EAAAhE,EAAA2e,aAAA,IAAA3a,EAAAhE,EAAA4e,eAAA,IAAA5a,EAAAhE,EAAAme,aAAA,IAAAna,EAAAhE,EAAA6e,cAAA,IAAA7a,EAAAhE,EAAA8e,cAAA,KAA6J,MAAAjb,GAAS,GAAAuoB,mBAAA/nB,QAAA,yBAAwD7J,QAAAD,QAAA8xB,gBAAAA,gBAAAxwB,UAAAgF,QAAA,SAAAb,GAA6E,GAAAA,EAAA,GAAAA,GAAA2D,KAAAgqB,UAAAtxB,OAAA,KAAA,IAAA6H,OAAA,8BAAgFP,MAAAmpB,KAAA1Q,IAAAzY,KAAAgqB,UAAA3tB,EAAgC,IAAA6D,GAAAF,KAAAmpB,KAAA3O,aAAAxa,KAAAmpB,KAAA1Q,GAA2C,OAAA,IAAAgQ,mBAAAzoB,KAAAmpB,KAAAjpB,EAAAF,KAAA6M,OAAA7M,KAAAqpB,MAAArpB,KAAAspB,YAC7+Ba,yBAAA,KAA4BC,IAAA,SAAA1pB,QAAA7J,OAAAD,SAC/B,QAAAyzB,kBAAAhuB,GAA6B,GAAA8D,KAAS,KAAA,GAAA3I,KAAA6E,GAAA0sB,OAAA5oB,EAAAvF,KAAA0vB,aAAAjuB,EAAA0sB,OAAAvxB,IAAwD,IAAA0I,GAAA,GAAAqY,IAAc,OAAAgS,MAAA/b,KAAA2C,OAAwB4X,OAAA5oB,GAASD,GAAAA,EAAA+b,SAAe,QAAAuO,eAAAnuB,GAA0B,GAAA8D,KAAS,KAAA,GAAA3I,KAAA6E,GAAA8D,EAAA3I,GAAA,GAAAizB,gBAAApuB,EAAA7E,GAAA8B,UAAA6G,EAAA3I,GAAAF,KAAAE,CAAkE,OAAA6yB,mBAAyBtB,OAAA5oB,IAAW,QAAAmqB,cAAAjuB,GAAyB,IAAA,GAAA8D,IAAW7I,KAAA+E,EAAA/E,MAAA,GAAAmP,QAAApK,EAAAoK,SAAA,EAAAoG,OAAAxQ,EAAAwQ,QAAA,KAAAqD,QAAAwa,UAAApxB,aAAyF9B,KAAK0I,KAAKpI,EAAA,EAAKA,EAAAuE,EAAA3D,OAAWZ,IAAA,CAAK,GAAAuI,GAAAhE,EAAAa,QAAApF,EAAmBuI,GAAA9G,SAAAoxB,eAAAtqB,EAAAspB,eAA4C,IAAAvpB,KAAS,KAAA,GAAA/H,KAAAgI,GAAA5G,WAAA,CAA2B,GAAA3C,GAAAU,EAAAa,OAAW,KAAAvB,IAAAqJ,EAAA+P,KAAAtV,KAAAvC,GAAAvB,EAAAqJ,EAAA+P,KAAAxX,OAAA,EAAAlB,EAAAa,GAAAvB,EAAiE,IAAAsB,GAAAwyB,UAAAvqB,EAAA5G,WAAApB,IAAAtB,EAAAmJ,EAAA9H,EAAAyyB,SAA4C,KAAA9zB,IAAAoJ,EAAAuqB,OAAA9vB,KAAAxC,GAAArB,EAAAoJ,EAAAuqB,OAAAhyB,OAAA,EAAAwH,EAAA9H,EAAAyyB,KAAA9zB,GAAAqJ,EAAAxF,KAAA9D,GAAAsJ,EAAAxF,KAAA7D,GAA6FsJ,EAAA4K,KAAA7K,EAAAD,EAAA7G,SAAAsB,KAAAyF,GAA4B,MAAAF,GAAS,QAAA2qB,SAAAzuB,EAAA8D,GAAsB,OAAAA,GAAA,IAAA,EAAA9D,GAAmB,QAAA0uB,QAAA1uB,GAAmB,MAAAA,IAAA,EAAAA,GAAA,GAAkB,QAAAsuB,gBAAAtuB,GAA2B,IAAA,GAAA8D,MAAA3I,EAAA,EAAA0I,EAAA,EAAApI,EAAAuE,EAAA3D,OAAA2H,EAAA,EAAoCA,EAAAvI,EAAIuI,IAAA,CAAK,GAAAD,GAAA/D,EAAAgE,EAAWF,GAAAvF,KAAAkwB,QAAA,EAAA,GAAqB,KAAA,GAAAzyB,GAAA,EAAYA,EAAA+H,EAAA1H,OAAWL,IAAA,CAAK,IAAAA,GAAA8H,EAAAvF,KAAAkwB,QAAA,EAAA1qB,EAAA1H,OAAA,GAAqC,IAAA5B,GAAAsJ,EAAA/H,GAAAkJ,EAAA/J,EAAAY,EAAAgI,EAAA/H,GAAA8I,EAAAjB,CAA0BC,GAAAvF,KAAAmwB,OAAAj0B,GAAAi0B,OAAA3yB,IAAAZ,GAAAV,EAAAoJ,GAAA9H,GAAuC,MAAA+H,GAAS,QAAAyqB,WAAAvuB,GAAsB,GAAA8D,GAAA3I,QAAA6E,EAAiB,OAAA,WAAA7E,EAAA2I,GAAsB6qB,aAAA3uB,GAAe,YAAA7E,EAAA2I,GAAkB8qB,WAAA5uB,GAAa,WAAA7E,EAAA2I,EAAA9D,EAAA,GAAA,GAAyB6uB,aAAA7uB,GAAeA,EAAA,GAAM8uB,WAAA9uB,IAAe+uB,WAAA/uB,IAAaA,EAAAqR,KAAAC,UAAAtR,GAAA8D,GAAyB6qB,aAAA3uB,IAAe8D,EAAA0qB,IAAArzB,EAAA,IAAA6E,EAAA8D,EAAkB,GAAAoY,KAAA7X,QAAA,OAAA6pB,KAAA7pB,QAAA,oBAAA+pB,eAAA/pB,QAAA,wBAAwG7J,QAAAD,QAAAyzB,iBAAAxzB,OAAAD,QAAAyzB,iBAAAA,iBAAAxzB,OAAAD,QAAA4zB,cAAAA,cAAA3zB,OAAAD,QAAA6zB,eAAAA,iBACn7CY,wBAAA,GAAAC,mBAAA,GAAAC,IAAA,KAA0DC,IAAA,SAAA9qB,QAAA7J,OAAAD,SAC7D,YAAa,SAAA6zB,gBAAApuB,GAA2B2D,KAAA1G,SAAA+C,EAAA2D,KAAAtH,OAAA2D,EAAA3D,OAAqC,QAAA+yB,gBAAApvB,GAA2B2D,KAAA5G,GAAA,gBAAAiD,GAAAjD,GAAAiD,EAAAjD,OAAA,GAAA4G,KAAA3G,KAAAgD,EAAAhD,KAAA2G,KAAA0rB,YAAA,IAAArvB,EAAAhD,MAAAgD,EAAA9C,UAAA8C,EAAA9C,SAAAyG,KAAAvG,WAAA4C,EAAA4O,KAAAjL,KAAA6M,OAAA,KAAuJ,GAAAsQ,OAAAzc,QAAA,kBAAA+nB,kBAAA/nB,QAAA,eAAA+nB,iBAA+F5xB,QAAAD,QAAA6zB,eAAAA,eAAAvyB,UAAAgF,QAAA,SAAAb,GAA2E,MAAA,IAAAovB,gBAAAzrB,KAAA1G,SAAA+C,KAA4CovB,eAAAvzB,UAAAyxB,aAAA,WAAkD,GAAAttB,GAAA2D,KAAA0rB,WAAuB1rB,MAAAzG,WAAiB,KAAA,GAAA2G,GAAA,EAAYA,EAAA7D,EAAA3D,OAAWwH,IAAA,CAAK,IAAA,GAAAC,GAAA9D,EAAA6D,GAAA1I,KAAA6I,EAAA,EAAwBA,EAAAF,EAAAzH,OAAW2H,IAAA7I,EAAAoD,KAAA,GAAAuiB,OAAAhd,EAAAE,GAAA,GAAAF,EAAAE,GAAA,IAAuCL,MAAAzG,SAAAqB,KAAApD,GAAsB,MAAAwI,MAAAzG,UAAqBkyB,eAAAvzB,UAAA0xB,KAAA,WAA0C5pB,KAAAzG,UAAAyG,KAAA2pB,cAAmC,KAAA,GAAAttB,GAAA2D,KAAAzG,SAAA2G,EAAA,EAAA,EAAAC,GAAA,EAAA,EAAA3I,EAAA,EAAA,EAAA6I,GAAA,EAAA,EAAAvJ,EAAA,EAA0DA,EAAAuF,EAAA3D,OAAW5B,IAAA,IAAA,GAAAsB,GAAAiE,EAAAvF,GAAAgB,EAAA,EAAuBA,EAAAM,EAAAM,OAAWZ,IAAA,CAAK,GAAAoJ,GAAA9I,EAAAN,EAAWoI,GAAAW,KAAAgK,IAAA3K,EAAAgB,EAAAK,GAAApB,EAAAU,KAAAyD,IAAAnE,EAAAe,EAAAK,GAAA/J,EAAAqJ,KAAAgK,IAAArT,EAAA0J,EAAAC,GAAAd,EAAAQ,KAAAyD,IAAAjE,EAAAa,EAAAC,GAAwE,OAAAjB,EAAA1I,EAAA2I,EAAAE,IAAgBorB,eAAAvzB,UAAA2xB,UAAApB,kBAAAvwB,UAAA2xB,YACz9BC,iBAAA,GAAA6B,cAAA,KAAqCC,IAAA,SAAAlrB,QAAA7J,OAAAD,SACxC,YAAa,SAAAoyB,UAAA3sB,EAAA8D,GAAuB,MAAA9D,GAAAke,WAAAsR,eAAmC9C,WAAU5oB,GAAI,QAAA0rB,eAAAxvB,EAAA8D,EAAArJ,GAA8B,IAAAuF,GAAA8D,EAAA4oB,OAAAnuB,KAAAqvB,UAAAnzB,EAAAA,EAAA0jB,aAAA1jB,EAAA2hB,MAAwD,QAAAqT,WAAAzvB,EAAA8D,GAAwB,GAAArJ,EAAM,QAAA,KAAAuF,EAAA0sB,OAAA,IAAAjyB,EAAA,EAA6BA,EAAAuF,EAAA0sB,OAAArwB,OAAkB5B,IAAAqJ,EAAAkc,aAAA,EAAA0P,WAAA1vB,EAAA0sB,OAAAjyB,IAA6C,QAAAk1B,WAAA3vB,EAAA8D,GAAwB,MAAA9D,GAAAke,WAAA0R,kBAAqC9rB,GAAI,QAAA8rB,gBAAA5vB,EAAA8D,EAAArJ,GAA+B,IAAAuF,EAAA8D,EAAA6qB,aAAAl0B,EAAAukB,aAAA,IAAAhf,EAAA8D,EAAA+rB,YAAAp1B,EAAAikB,YAAA,IAAA1e,EAAA8D,EAAA+qB,aAAAp0B,EAAAkkB,aAAA,IAAA3e,EAAA8D,EAAAgsB,UAAAr1B,EAAA0jB,aAAA,IAAAne,EAAA8D,EAAAirB,WAAAt0B,EAAA0jB,aAAA,IAAAne,EAAA8D,EAAAgrB,WAAAr0B,EAAAokB,cAAA,IAAA7e,IAAA8D,EAAA8qB,WAAAn0B,EAAAqkB,eAAsP,QAAAiR,YAAA/vB,EAAA8D,OAAyB,KAAA9D,EAAA2uB,cAAA7qB,EAAA0c,iBAAA,EAAAxgB,EAAA2uB,kBAAA,KAAA3uB,EAAA6vB,aAAA/rB,EAAA2c,gBAAA,EAAAzgB,EAAA6vB,iBAAA,KAAA7vB,EAAA6uB,cAAA/qB,EAAA4c,iBAAA,EAAA1gB,EAAA6uB,kBAAA,KAAA7uB,EAAA8vB,WAAAhsB,EAAAwc,iBAAA,EAAAtgB,EAAA8vB,eAAA,KAAA9vB,EAAA+uB,YAAAjrB,EAAAwc,iBAAA,EAAAtgB,EAAA+uB,gBAAA,KAAA/uB,EAAA8uB,YAAAhrB,EAAAyc,kBAAA,EAAAvgB,EAAA8uB,gBAAA,KAAA9uB,EAAA4uB,YAAA9qB,EAAA6c,kBAAA,EAAA3gB,EAAA4uB,YAA+Z,QAAA1B,aAAAltB,EAAA8D,GAA0B,GAAArJ,GAAAuF,EAAAke,WAAA8R,oBAAsClsB,EAAI,YAAA,KAAArJ,EAAAuC,OAAAvC,EAAAuC,KAAA,WAAAvC,EAA6C,QAAAu1B,kBAAAhwB,EAAA8D,EAAArJ,GAAiC,IAAAuF,EAAA8D,EAAA/G,GAAAtC,EAAA0jB,aAAA,IAAAne,EAAA8D,EAAA8K,KAAAnU,EAAAykB,mBAAA,IAAAlf,EAAA8D,EAAA9G,KAAAvC,EAAA0jB,aAAA,IAAAne,IAAA8D,EAAA5G,SAAAzC,EAAAykB,oBAAiI,QAAA+Q,cAAAjwB,EAAA8D,OAA2B,KAAA9D,EAAAjD,IAAA+G,EAAAwc,iBAAA,EAAAtgB,EAAAjD,QAAA,KAAAiD,EAAA4O,MAAA9K,EAAA4Y,kBAAA,EAAA1c,EAAA4O,UAAA,KAAA5O,EAAAhD,MAAA8G,EAAAwc,iBAAA,EAAAtgB,EAAAhD,UAAA,KAAAgD,EAAA9C,UAAA4G,EAAA4Y,kBAAA,EAAA1c,EAAA9C,UAA8L,QAAA0wB,WAAA5tB,EAAA8D,GAAwB,MAAA9D,GAAAke,WAAAgS,gBAAoCjzB,YAAA4W,QAAAwa,WAA8BvqB,GAAI,QAAAosB,gBAAAlwB,EAAA8D,EAAArJ,GAA+B,KAAAuF,EAAA8D,EAAAsG,QAAA3P,EAAA0jB,aAAA,IAAAne,EAAA8D,EAAA7I,KAAAR,EAAAukB,aAAA,IAAAhf,EAAA8D,EAAA7G,SAAAsB,KAAA2uB,YAAAzyB,EAAAA,EAAA0jB,aAAA1jB,EAAA2hB,MAAA,IAAApc,EAAA8D,EAAA+P,KAAAtV,KAAA9D,EAAAukB,cAAA,IAAAhf,EAAA8D,EAAAuqB,OAAA9vB,KAAAoxB,UAAAl1B,EAAAA,EAAA0jB,aAAA1jB,EAAA2hB,MAAA,IAAApc,IAAA8D,EAAA0M,OAAA/V,EAAA0jB,cAAiP,QAAAuR,YAAA1vB,EAAA8D,OAAyB,KAAA9D,EAAAoK,SAAAtG,EAAAwc,iBAAA,GAAAtgB,EAAAoK,aAAA,KAAApK,EAAA/E,MAAA6I,EAAA0c,iBAAA,EAAAxgB,EAAA/E,KAAmG,IAAAR,EAAM,QAAA,KAAAuF,EAAA/C,SAAA,IAAAxC,EAAA,EAA+BA,EAAAuF,EAAA/C,SAAAZ,OAAoB5B,IAAAqJ,EAAAkc,aAAA,EAAAiQ,aAAAjwB,EAAA/C,SAAAxC,GAAiD,QAAA,KAAAuF,EAAA6T,KAAA,IAAApZ,EAAA,EAA2BA,EAAAuF,EAAA6T,KAAAxX,OAAgB5B,IAAAqJ,EAAA0c,iBAAA,EAAAxgB,EAAA6T,KAAApZ,GAAoC,QAAA,KAAAuF,EAAAquB,OAAA,IAAA5zB,EAAA,EAA6BA,EAAAuF,EAAAquB,OAAAhyB,OAAkB5B,IAAAqJ,EAAAkc,aAAA,EAAA+P,WAAA/vB,EAAAquB,OAAA5zB,QAA6C,KAAAuF,EAAAwQ,QAAA1M,EAAAwc,iBAAA,EAAAtgB,EAAAwQ,QAAkD,GAAA2B,MAAA5X,QAAA4X,MAAuBwC,KAAAgY,SAAA7X,MAAA2a,UAA+Btd,MAAAge,UAAeC,QAAA,EAAAtP,MAAA,EAAAuP,WAAA,EAAAC,QAAA,GAAyCne,KAAApX,OAAa4Z,KAAAgb,UAAA7a,MAAAib,YAAgC5d,KAAAtR,SAAe8T,KAAAuY,YAAApY,MAAAmb,cAAoC9d,KAAAhS,OAAawU,KAAAiZ,UAAA9Y,MAAA4a,iBACviFa,IAAA,SAAAlsB,QAAA7J,OAAAD,SACJ,GAAAi2B,UAAAp0B,UAAA,GAAAq0B,QAAAr0B,UAAA,GAAAs0B,MAAAt0B,UAAA,GAAAkV,UAAAD,KAAAC,SAA2F9W,QAAAD,QAAA,SAAAuJ,EAAA9D,GAA6B,QAAA6D,GAAAC,GAAc9I,EAAA8I,IAAA,CAAQ,KAAA,GAAA9D,KAAAywB,SAAA3sB,GAAA,GAAA,CAA4B,GAAArI,GAAAg1B,QAAA3sB,GAAA,GAAA9D,EAAuBhF,GAAAS,IAAAoI,EAAApI,IAAY,IAAA,GAAAA,GAAAN,EAAAC,OAAAyY,KAAA6c,OAAA1sB,EAAA,EAAAvJ,EAAAU,EAAAkB,OAA8C2H,EAAAvJ,EAAIuJ,IAAA,CAAK,GAAAhI,GAAAb,EAAA6I,GAAAD,EAAA2sB,MAAA10B,GAAAzB,OAA8B,IAAAwJ,IAAAD,GAAAC,GAAAA,EAAA3F,UAAA0F,EAAA,CAA4BrI,EAAAO,CAAI,QAAO,IAAAP,EAAA,CAAOA,EAAA+I,KAAAwN,MAAAxN,KAAA+F,IAAA,GAAA,GAAA/F,KAAAmsB,UAAAvV,SAAA,GAAwD,KAAA,GAAA9X,MAAYU,EAAA,EAAAvJ,EAAAU,EAAAkB,OAAgB2H,EAAAvJ,EAAIuJ,IAAgBV,EAAXtH,EAAAb,EAAA6I,IAAWhI,CAAOy0B,SAAAh1B,IAAAoc,UAAA,UAAA,SAAA,WAAA,IAAA/T,EAAA,WAAAR,GAAwE,GAAAxI,GAAA0J,KAAAwN,MAAAxN,KAAA+F,IAAA,GAAA,GAAA/F,KAAAmsB,UAAAvV,SAAA,IAAA1gB,IAAiEA,GAAAe,GAAAA,EAAAg1B,QAAA31B,IAAA+c,UAAA,WAAA,mBAAAvG,UAAA7V,GAAA,wCAA6Gf,EAAM,IAAAM,KAAS6I,GAAA/I,EAAK,IAAAsK,GAAA,IAAAorB,SAAA,MAAuBp1B,OAAAyY,KAAA7Y,GAAA4D,IAAA,SAAAkF,GAAiC,MAAAwN,WAAAxN,GAAA,KAAA2sB,QAAA3sB,GAAA,GAAA,IAAAwN,UAAAmf,QAAA3sB,GAAA,IAAA,MAAwElC,KAAA,KAAA,SAAiB0P,UAAAxW,GAAA,KAAA6J,EAAA7H,OAAA8zB,KAAA9zB,OAAA+zB,WAAA/zB,OAAAg0B,QAAAh0B,OAAAi0B,MAAAhsB,EAAA,GAAAisB,OAAA5rB,IAAkGpI,KAAA,mBAAyB,IAAAgD,GAAAA,EAAAixB,KAAA,MAAAlsB,EAAsB,IAAAF,GAAAF,EAAAusB,gBAAAnsB,GAAAI,EAAA,GAAAgsB,QAAAtsB,EAA2C,OAAAM,GAAAisB,UAAAvsB,EAAAM,QAClhCksB,IAAA,SAAAhtB,QAAA7J,OAAAD,SACJC,OAAAD,QAAAmT,OAAA,QAAAlT,OAAAD,QAAA+2B,WAAA,EAAA,cAAA92B,OAAAD,QAAAg3B,aAAA,kBACIC,IAAA,SAAAntB,QAAA7J,OAAAD,SACJC,OAAAD,SAAgB6P,QAAA,eACZqnB,IAAA,SAAAptB,QAAA7J,OAAAD,SACJ,YAAa,SAAAm3B,4BAAA5tB,EAAA9D,GAAyC,GAAA6D,KAAS,KAAA,GAAAG,KAAAF,GAAA,CAAgB,GAAArJ,GAAAqJ,EAAAE,GAAA2tB,gBAA4B,IAAA,IAAAl3B,EAAA4B,OAAA,CAAiB,GAAAZ,GAAAhB,EAAAm3B,UAAA5xB,GAAAhE,EAAAvB,EAAAqsB,YAAA8K,WAAiD/tB,GAAAG,IAAMuf,MAAA9nB,EAAAuB,KAAAhB,IAAiB,MAAA6H,GAAS,GAAAguB,sBAAAxtB,QAAA,2BAAAytB,sBAAAztB,QAAA,uBAAA0tB,QAAA,SAAAjuB,EAAA9D,GAAuI2D,KAAAquB,aAAAluB,EAAAH,KAAAsuB,gBAAAjyB,EAAA2D,KAAAuuB,aAAA,EAAAvuB,KAAAwuB,gBAAA,GAAsFC,WAAA,SAAAtuB,EAAA9D,EAAA6D,GAA4B,GAAAG,GAAAL,IAAWA,MAAA0uB,kBAAuBnzB,KAAA2E,EAAQ,IAAApJ,GAAAq3B,sBAAAhuB,EAAAwuB,iBAAgD3uB,MAAA4uB,kBAAA,GAAA93B,EAA6B,IAAAgB,GAAAqI,EAAA0uB,gBAAyB/2B,KAAAkI,KAAA8uB,aAAA,GAAAh3B,GAA6B,IAAAO,GAAA8H,EAAA4uB,iBAA0B12B,KAAA2H,KAAAgvB,cAAA,GAAA32B,IAAA2H,KAAAivB,YAAgD,KAAA,GAAA9tB,GAAA,EAAA3J,EAAA6E,EAAgB8E,EAAA3J,EAAAkB,OAAWyI,GAAA,EAAA,CAAM,GAAA/I,GAAAZ,EAAA2J,GAAApK,EAAAm3B,qBAAAgB,cAAA/uB,EAAAgvB,oBAAA/2B,EAAA8H,EAA2EG,GAAA4uB,UAAA72B,EAAAgB,KAAmBoD,MAAApE,EAAAg3B,qBAAAr4B,EAAAi3B,iBAAA,GAAAj3B,GAAAs4B,iBAAAC,wBAAAv4B,EAAAw4B,iCAAkIvvB,KAAAwvB,YAAAxvB,KAAAyvB,aAAoChB,YAAAv2B,UAAAw3B,eAAA,SAAAvvB,GAAgD,GAAA9D,GAAA2D,KAAAwvB,SAAAxvB,KAAAwvB,SAAA92B,OAAA,EAA4C,SAAA2D,GAAAA,EAAAkyB,aAAApuB,EAAAsuB,WAAAkB,2BAAAtzB,EAAA,GAAA+xB,SAAApuB,KAAA4uB,kBAAAl2B,OAAAsH,KAAA8uB,aAAAp2B,QAAAsH,KAAAwvB,SAAA50B,KAAAyB,IAAAA,GAAiKoyB,WAAAv2B,UAAA03B,gBAAA,SAAAzvB,GAAkD,GAAA9D,GAAA2D,KAAAyvB,UAAAzvB,KAAAyvB,UAAA/2B,OAAA,EAA8C,SAAA2D,GAAAA,EAAAkyB,aAAApuB,EAAAsuB,WAAAkB,2BAAAtzB,EAAA,GAAA+xB,SAAApuB,KAAA4uB,kBAAAl2B,OAAAsH,KAAAgvB,cAAAt2B,QAAAsH,KAAAyvB,UAAA70B,KAAAyB,IAAAA,GAAmKoyB,WAAAv2B,UAAA23B,oBAAA,SAAA1vB,GAAsD,GAAA9D,GAAA2D,IAAW,KAAA,GAAAE,KAAA7D,GAAA4yB,UAAA,CAA0B,GAAA5uB,GAAAhE,EAAA4yB,UAAA/uB,EAAqB,KAAAG,EAAA2tB,iBAAA8B,iBAAAzvB,EAAA+uB,qBAAAW,mBAAA1vB,EAAA7D,MAAA6D,EAAA2tB,iBAAA3tB,EAAAivB,wBAAAjzB,EAAAuyB,kBAAAl2B,OAAA2D,EAAAqyB,iBAAAvuB,KAAyLsuB,WAAAv2B,UAAA83B,QAAA,WAAyC,MAAA,KAAAhwB,KAAA4uB,kBAAAl2B,QAAyC+1B,WAAAv2B,UAAA+1B,UAAA,SAAA9tB,GAA4C,OAAOyuB,kBAAA5uB,KAAA4uB,kBAAAX,UAAA9tB,GAAA2uB,aAAA9uB,KAAA8uB,cAAA9uB,KAAA8uB,aAAAb,UAAA9tB,GAAA6uB,cAAAhvB,KAAAgvB,eAAAhvB,KAAAgvB,cAAAf,UAAA9tB,GAAA8vB,kBAAAlC,2BAAA/tB,KAAAivB,UAAA9uB,GAAAqvB,SAAAxvB,KAAAwvB,SAAAC,UAAAzvB,KAAAyvB,YAAuShB,WAAAkB,wBAAA9uB,KAAA+F,IAAA,EAAA,IAAA,EAAA/P,OAAAD,QAAA63B,aACprEyB,0BAAA,GAAAC,sBAAA,KAAsDC,IAAA,SAAA1vB,QAAA7J,OAAAD,SACzD,YAAa,IAAA63B,YAAA/tB,QAAA,iBAAA2vB,YAAA3vB,QAAA,kBAAA4vB,KAAA5vB,QAAA,gBAAA6vB,OAAA,SAAApwB,EAAAD,GAAgIF,KAAAzE,KAAA4E,EAAA5E,KAAAyE,KAAAwwB,YAAArwB,EAAAqwB,YAAAxwB,KAAA+oB,OAAA5oB,EAAA4oB,OAAA/oB,KAAAywB,MAAAtwB,EAAAswB,MAAAtwB,EAAAuwB,OAAA1wB,KAAA2wB,QAAA,GAAAN,aAAAnwB,EAAAC,EAAA4oB,OAAA5oB,EAAA5E,KAAA4E,EAAAuwB,QAAA1wB,KAAA0wB,OAAA,GAAAjC,YAAAvuB,EAAAC,EAAA4oB,OAAA5oB,EAAA5E,MAAyMg1B,QAAAr4B,UAAA04B,SAAA,SAAAzwB,EAAAD,GAAwC,IAAA,GAAA7D,GAAA2D,KAAAlJ,EAAA,EAAAuJ,EAAAF,EAAuBrJ,EAAAuJ,EAAA3H,OAAW5B,GAAA,EAAA,CAAM,GAAAsJ,GAAAC,EAAAvJ,EAAWuF,GAAA0sB,OAAA,GAAArV,OAAAtT,KAAA/D,EAAA6S,WAAA9O,GAAAF,EAAA2wB,aAAAzgB,OAAAhQ,EAAA/D,EAAAo0B,UAA2EF,OAAAr4B,UAAA44B,2BAAA,WAAwD,MAAAR,MAAAS,UAAA/wB,KAAA0wB,OAAAzB,UAAA,SAAA9uB,GAAwD,MAAAA,GAAAmvB,2BAAmCiB,OAAAr4B,UAAA83B,QAAA,WAAqC,MAAAhwB,MAAA0wB,OAAAV,WAA6BO,OAAAr4B,UAAA+1B,UAAA,SAAA9tB,GAAwC,OAAO5E,KAAAyE,KAAAzE,KAAAy1B,SAAAhxB,KAAA+oB,OAAA9tB,IAAA,SAAAkF,GAAoD,MAAAA,GAAA/G,KAAYs3B,OAAA1wB,KAAA0wB,OAAAzC,UAAA9tB,KAAmCowB,OAAAr4B,UAAAoiB,QAAA,WAAqCta,KAAA2wB,UAAA3wB,KAAA2wB,QAAArW,UAAAta,KAAA2wB,QAAA,OAAyD95B,OAAAD,QAAA25B,OAAAA,OAAAU,YAAA,SAAA9wB,EAAAD,GAAwD,GAAAA,EAAA,CAAM,IAAA,GAAA7D,MAAYvF,EAAA,EAAAuJ,EAAAF,EAASrJ,EAAAuJ,EAAA3H,OAAW5B,GAAA,EAAA,CAAM,GAAAsJ,GAAAC,EAAAvJ,GAAAU,EAAA4I,EAAA4wB,SAAA/1B,IAAA,SAAAkF,GAAwC,MAAAD,GAAAgxB,SAAA/wB,KAAqBuT,OAAA0H,QAAkB,IAAA,IAAA5jB,EAAAkB,OAAA,IAAA,GAAAL,GAAAb,EAAA,GAAA25B,aAAAb,KAAAnzB,QAAyD4rB,OAAAvxB,GAAS4I,IAAAtI,EAAA,EAAA6H,EAAAnI,EAAaM,EAAA6H,EAAAjH,OAAWZ,GAAA,EAAiBuE,EAAXsD,EAAA7H,GAAWsB,IAAAf,EAAW,MAAAgE,OACvuC+0B,eAAA,IAAAC,gBAAA,GAAAC,iBAAA,KAA0DC,IAAA,SAAA7wB,QAAA7J,OAAAD,SAC7D,YAAa,SAAA46B,iBAAAn1B,EAAA8D,EAAAD,EAAA/I,EAAAL,GAAoCuF,EAAAo1B,YAAA,EAAAtxB,GAAAhJ,EAAA,GAAA,EAAA,EAAA+I,GAAApJ,EAAA,GAAA,GAAuC,GAAAy5B,QAAA7vB,QAAA,aAAAgxB,uBAAAhxB,QAAA,yBAAAipB,aAAAjpB,QAAA,oBAAAixB,OAAAjxB,QAAA,aAAAkxB,iBAA8KjD,mBAAmBr3B,KAAA,QAAAu6B,WAAA,EAAAx4B,KAAA,UAAuCw1B,iBAAA6C,yBAAAvC,kBAA8Dl3B,SAAA,eAAAoB,KAAA,UAAuCpB,SAAA,gBAAAoB,KAAA,SAAAy4B,WAAA,KAAuD75B,SAAA,cAAAoB,KAAA,SAAAy4B,WAAA,KAAqD75B,SAAA,iBAAAoB,KAAA,QAAAy4B,WAAA,MAAwD75B,SAAA,sBAAAoB,KAAA,UAA8CpB,SAAA,sBAAAoB,KAAA,SAAAy4B,WAAA,KAA6D75B,SAAA,wBAAAoB,KAAA,QAAAy4B,WAAA,OAA+DC,aAAA,SAAA11B,GAA0B,QAAA8D,GAAAA,GAAc9D,EAAApF,KAAA+I,KAAAG,EAAAyxB,iBAA+B,MAAAv1B,KAAA8D,EAAA6xB,UAAA31B,GAAA8D,EAAAjI,UAAAT,OAAA6K,OAAAjG,GAAAA,EAAAnE,WAAAiI,EAAAjI,UAAAirB,YAAAhjB,EAAAA,EAAAjI,UAAAgX,WAAA,SAAA7S,GAAiI,IAAA,GAAA8D,GAAAH,KAAA0wB,OAAAxwB,EAAA,EAAA/I,EAAAwyB,aAAAttB,GAA4C6D,EAAA/I,EAAAuB,OAAWwH,GAAA,EAAA,IAAA,GAAApJ,GAAAK,EAAA+I,GAAAG,EAAA,EAAAjI,EAAAtB,EAA4BuJ,EAAAjI,EAAAM,OAAW2H,GAAA,EAAA,CAAM,GAAAtJ,GAAAqB,EAAAiI,GAAA7I,EAAAT,EAAAwK,EAAAJ,EAAApK,EAAAoK,CAAuB,MAAA3J,EAAA,GAAAA,GAAAm6B,QAAAxwB,EAAA,GAAAA,GAAAwwB,QAAA,CAAsC,GAAA75B,GAAAqI,EAAAuvB,eAAA,GAAAtvB,EAAAtI,EAAAy2B,YAA2CiD,iBAAArxB,EAAAyuB,kBAAAp3B,EAAA2J,GAAA,GAAA,GAAAqwB,gBAAArxB,EAAAyuB,kBAAAp3B,EAAA2J,EAAA,GAAA,GAAAqwB,gBAAArxB,EAAAyuB,kBAAAp3B,EAAA2J,EAAA,EAAA,GAAAqwB,gBAAArxB,EAAAyuB,kBAAAp3B,EAAA2J,GAAA,EAAA,GAAAhB,EAAA2uB,aAAA2C,YAAArxB,EAAAA,EAAA,EAAAA,EAAA,GAAAD,EAAA2uB,aAAA2C,YAAArxB,EAAAA,EAAA,EAAAA,EAAA,GAAAtI,EAAAy2B,cAAA,EAAAz2B,EAAA02B,iBAAA,GAA4SruB,EAAA0vB,oBAAAxzB,EAAA5C,aAAoC0G,GAAGowB,OAASwB,cAAAE,iBAAAL,gBAAA/6B,OAAAD,QAAAm7B,eACh+CG,YAAA,GAAAC,wBAAA,GAAAC,YAAA,GAAAC,mBAAA,KAA+EC,IAAA,SAAA5xB,QAAA7J,OAAAD,SAClF,YAAa,IAAA25B,QAAA7vB,QAAA,aAAAgxB,uBAAAhxB,QAAA,yBAAAipB,aAAAjpB,QAAA,oBAAAwG,OAAAxG,QAAA,UAAA+oB,cAAA/oB,QAAA,6BAAA6xB,eAAiP5D,mBAAmBr3B,KAAA,QAAAu6B,WAAA,EAAAx4B,KAAA,UAAuCw1B,iBAAA6C,uBAAA,GAAA3C,kBAAA2C,uBAAA,GAAAvC,kBAA2Gl3B,SAAA,aAAAoB,KAAA,UAAqCpB,SAAA,qBAAAoB,KAAA,UAA6CpB,SAAA,eAAAoB,KAAA,QAAAy4B,WAAA,OAAsDU,WAAA,SAAAn2B,GAAwB,QAAA6D,GAAAA,GAAc7D,EAAApF,KAAA+I,KAAAE,EAAAqyB,eAA6B,MAAAl2B,KAAA6D,EAAA8xB,UAAA31B,GAAA6D,EAAAhI,UAAAT,OAAA6K,OAAAjG,GAAAA,EAAAnE,WAAAgI,EAAAhI,UAAAirB,YAAAjjB,EAAAA,EAAAhI,UAAAgX,WAAA,SAAA7S,GAAiI,IAAA,GAAA6D,GAAAF,KAAA0wB,OAAAvwB,EAAA,EAAAE,EAAAopB,cAAAE,aAAAttB,GAAluB,KAA8yB8D,EAAAE,EAAA3H,OAAWyH,GAAA,EAAA,CAAM,IAAA,GAAApJ,GAAAsJ,EAAAF,GAAArI,EAAA,EAAAM,EAAA,EAAAtB,EAAAC,EAA2BqB,EAAAtB,EAAA4B,OAAWN,GAAA,EAAiBN,GAAXhB,EAAAsB,GAAWM,MAAY,KAAA,GAAAyI,GAAAjB,EAAAwvB,eAAA53B,GAAAX,EAAAgK,EAAAotB,aAAAnuB,KAAA/H,KAAAoJ,EAAA,EAAAP,EAAAnK,EAAiE0K,EAAAP,EAAAxI,OAAW+I,GAAA,EAAA,CAAM,GAAAvK,GAAAgK,EAAAO,EAAW,IAAA,IAAAvK,EAAAwB,OAAA,CAAiBxB,IAAAH,EAAA,IAAAsB,EAAAuC,KAAAwF,EAAA1H,OAAA,EAA6B,IAAAiH,GAAAO,EAAA0vB,gBAAA14B,EAAAwB,QAAA2I,EAAA1B,EAAA4uB,YAAmDruB,GAAA0uB,kBAAA6C,YAAAv6B,EAAA,GAAAqK,EAAArK,EAAA,GAAAiK,GAAAjB,EAAA8uB,cAAAyC,YAAApwB,EAAAnK,EAAAwB,OAAA,EAAA2I,GAAAjB,EAAAxF,KAAA1D,EAAA,GAAAqK,GAAAnB,EAAAxF,KAAA1D,EAAA,GAAAiK,EAAyH,KAAA,GAAAH,GAAA,EAAYA,EAAA9J,EAAAwB,OAAWsI,IAAAd,EAAA0uB,kBAAA6C,YAAAv6B,EAAA8J,GAAAO,EAAArK,EAAA8J,GAAAG,GAAAjB,EAAA8uB,cAAAyC,YAAApwB,EAAAL,EAAA,EAAAK,EAAAL,GAAAZ,EAAAxF,KAAA1D,EAAA8J,GAAAO,GAAAnB,EAAAxF,KAAA1D,EAAA8J,GAAAG,EAAwHxB,GAAA4uB,cAAAr3B,EAAAwB,OAAAiH,EAAA6uB,iBAAAt3B,EAAAwB,QAAsD,IAAA,GAAA+5B,GAAAvrB,OAAA9G,EAAA/H,GAAAyJ,EAAA,EAA0BA,EAAA2wB,EAAA/5B,OAAWoJ,GAAA,EAAA5B,EAAA4uB,aAAA2C,YAAAt6B,EAAAs7B,EAAA3wB,GAAA3K,EAAAs7B,EAAA3wB,EAAA,GAAA3K,EAAAs7B,EAAA3wB,EAAA,GAA0DX,GAAAotB,cAAAz2B,EAAAqJ,EAAAqtB,iBAAAiE,EAAA/5B,OAAA,EAAgDwH,EAAA2vB,oBAAAxzB,EAAA5C,aAAoCyG,GAAGqwB,OAASiC,YAAAP,iBAAAM,cAAA17B,OAAAD,QAAA47B,aACvkDE,4BAAA,IAAAR,YAAA,GAAAC,wBAAA,GAAAE,mBAAA,GAAAnrB,OAAA,IAA2GyrB,IAAA,SAAAjyB,QAAA7J,OAAAD,SAC9G,YAAa,SAAAg8B,WAAAv2B,EAAA6D,EAAAC,EAAAE,EAAAvI,EAAAN,EAAAV,EAAAqK,GAAoC9E,EAAAo1B,YAAAvxB,EAAAC,EAAA,EAAAU,KAAAwN,MAAAhO,EAAAwyB,QAAA/7B,EAAAgB,EAAA+6B,OAAA,EAAAr7B,EAAAq7B,OAAA,EAAAhyB,KAAAyO,MAAAnO,IAAgF,QAAA2xB,gBAAAz2B,EAAA6D,GAA6B,MAAA7D,GAAAkF,IAAArB,EAAAqB,IAAAlF,EAAAkF,EAAA,GAAAlF,EAAAkF,EAAAowB,SAAAt1B,EAAA8E,IAAAjB,EAAAiB,IAAA9E,EAAA8E,EAAA,GAAA9E,EAAA8E,EAAAwwB,QAAsE,GAAApB,QAAA7vB,QAAA,aAAAgxB,uBAAAhxB,QAAA,yBAAAipB,aAAAjpB,QAAA,oBAAAixB,OAAAjxB,QAAA,aAAAwG,OAAAxG,QAAA,UAAA+oB,cAAA/oB,QAAA,6BAAAqyB,wBAAsRpE,mBAAmBr3B,KAAA,QAAAu6B,WAAA,EAAAx4B,KAAA,UAAyC/B,KAAA,WAAAu6B,WAAA,EAAAx4B,KAAA,UAA4C/B,KAAA,iBAAAu6B,WAAA,EAAAx4B,KAAA,UAAgDw1B,iBAAA6C,uBAAA,GAAAvC,kBAA+Dl3B,SAAA,sBAAAoB,KAAA,WAA+CpB,SAAA,wBAAAoB,KAAA,WAAiDpB,SAAA,uBAAAoB,KAAA,WAA+Cw5B,OAAAhyB,KAAA+F,IAAA,EAAA,IAAAosB,oBAAA,SAAA32B,GAAuD,QAAA6D,GAAAA,GAAc7D,EAAApF,KAAA+I,KAAAE,EAAA6yB,wBAAsC,MAAA12B,KAAA6D,EAAA8xB,UAAA31B,GAAA6D,EAAAhI,UAAAT,OAAA6K,OAAAjG,GAAAA,EAAAnE,WAAAgI,EAAAhI,UAAAirB,YAAAjjB,EAAAA,EAAAhI,UAAAgX,WAAA,SAAA7S,GAAiI,IAAA,GAAA6D,GAAAF,KAAA0wB,OAAAvwB,EAAA,EAAAE,EAAAopB,cAAAE,aAAAttB,GAAx2B,KAAo7B8D,EAAAE,EAAA3H,OAAWyH,GAAA,EAAA,CAAM,IAAA,GAAArI,GAAAuI,EAAAF,GAAA3I,EAAA,EAAAV,EAAA,EAAAqK,EAAArJ,EAA2BhB,EAAAqK,EAAAzI,OAAW5B,GAAA,EAAiBU,GAAX2J,EAAArK,GAAW4B,MAAY,KAAA,GAAA0H,GAAAF,EAAAwvB,eAAA,EAAAl4B,GAAAY,KAAAC,KAAAlB,KAAAoK,EAAA,EAAA5B,EAAA7H,EAAuDyJ,EAAA5B,EAAAjH,OAAW6I,GAAA,EAAA,CAAM,GAAAlK,GAAAsI,EAAA4B,EAAW,IAAA,IAAAlK,EAAAqB,OAAA,CAAiBrB,IAAAS,EAAA,IAAAO,EAAAuC,KAAAxC,EAAAM,OAAA,EAA6B,KAAA,GAAAxB,GAAA,EAAAgK,EAAA,EAAgBA,EAAA7J,EAAAqB,OAAWwI,IAAA,CAAK,GAAAO,GAAApK,EAAA6J,EAAW,IAAA0xB,UAAA1yB,EAAA0uB,kBAAAntB,EAAAF,EAAAE,EAAAN,EAAA,EAAA,EAAA,EAAA,EAAA,GAAAhK,EAAAyD,KAAAwF,EAAAmuB,gBAAArtB,GAAA,EAAA,CAAmF,GAAAG,GAAAhK,EAAA6J,EAAA,EAAa,KAAA4xB,eAAArxB,EAAAJ,GAAA,CAAyB,GAAA4xB,GAAAxxB,EAAA6b,IAAAjc,GAAA4c,QAAAF,OAA+B6U,WAAA1yB,EAAA0uB,kBAAAntB,EAAAF,EAAAE,EAAAN,EAAA8xB,EAAA1xB,EAAA0xB,EAAA9xB,EAAA,EAAA,EAAAjK,GAAA07B,UAAA1yB,EAAA0uB,kBAAAntB,EAAAF,EAAAE,EAAAN,EAAA8xB,EAAA1xB,EAAA0xB,EAAA9xB,EAAA,EAAA,EAAAjK,GAAAA,GAAAmK,EAAA6J,KAAAzJ,GAAAmxB,UAAA1yB,EAAA0uB,kBAAAvtB,EAAAE,EAAAF,EAAAF,EAAA8xB,EAAA1xB,EAAA0xB,EAAA9xB,EAAA,EAAA,EAAAjK,GAAA07B,UAAA1yB,EAAA0uB,kBAAAvtB,EAAAE,EAAAF,EAAAF,EAAA8xB,EAAA1xB,EAAA0xB,EAAA9xB,EAAA,EAAA,EAAAjK,EAAiO,IAAA8J,GAAAZ,EAAAmuB,YAAqBruB,GAAA4uB,aAAA2C,YAAAzwB,EAAAA,EAAA,EAAAA,EAAA,GAAAd,EAAA4uB,aAAA2C,YAAAzwB,EAAA,EAAAA,EAAA,EAAAA,EAAA,GAAAZ,EAAAmuB,cAAA,EAAAnuB,EAAAouB,iBAAA,GAAsHp2B,EAAAwC,KAAA6G,EAAAF,GAAAnJ,EAAAwC,KAAA6G,EAAAN,KAA0B,IAAA,GAAAsxB,GAAAvrB,OAAA9O,EAAAC,GAAAiW,EAAA,EAA0BA,EAAAmkB,EAAA/5B,OAAW4V,GAAA,EAAApO,EAAA4uB,aAAA2C,YAAAt6B,EAAAs7B,EAAAnkB,IAAAnX,EAAAs7B,EAAAnkB,EAAA,IAAAnX,EAAAs7B,EAAAnkB,EAAA,IAA6DlO,GAAAouB,iBAAAiE,EAAA/5B,OAAA,EAA8BwH,EAAA2vB,oBAAAxzB,EAAA5C,aAAoCyG,GAAGqwB,OAASyC,qBAAAf,iBAAAc,uBAAAl8B,OAAAD,QAAAo8B,sBACnmEN,4BAAA,IAAAR,YAAA,GAAAC,wBAAA,GAAAC,YAAA,GAAAC,mBAAA,GAAAnrB,OAAA,IAA0HgsB,IAAA,SAAAxyB,QAAA7J,OAAAD,SAC7H,YAAa,SAAAu8B,eAAA92B,EAAA6D,EAAAC,EAAArJ,EAAAuJ,EAAAvI,EAAAT,GAAsCgF,EAAAo1B,YAAAvxB,EAAAqB,GAAA,EAAAzK,EAAAoJ,EAAAiB,GAAA,EAAAd,EAAAQ,KAAAyO,MAAA8jB,cAAAjzB,EAAAoB,GAAA,IAAAV,KAAAyO,MAAA8jB,cAAAjzB,EAAAgB,GAAA,IAAA,GAAA,IAAArJ,EAAA,EAAAA,EAAA,GAAA,EAAA,IAAAT,EAAAg8B,oBAAA,KAAA,EAAAh8B,EAAAg8B,qBAAA,GAAiL,GAAA9C,QAAA7vB,QAAA,aAAAgxB,uBAAAhxB,QAAA,yBAAAipB,aAAAjpB,QAAA,oBAAAixB,OAAAjxB,QAAA,aAAA+nB,kBAAA/nB,QAAA,eAAA+nB,kBAAA2K,cAAA,GAAAE,sBAAAzyB,KAAAE,IAAAF,KAAAgG,GAAA,IAAA,MAAAwsB,oBAAA,GAAAE,kBAAA1yB,KAAA+F,IAAA,EAAA4sB,IAAAH,oBAAAI,eAAoc9E,mBAAmBr3B,KAAA,QAAAu6B,WAAA,EAAAx4B,KAAA,UAAyC/B,KAAA,SAAAu6B,WAAA,EAAAx4B,KAAA,UAAwC81B,kBAAoBl3B,SAAA,aAAAoB,KAAA,UAAqCpB,SAAA,YAAA65B,WAAA,GAAAz4B,KAAA,UAAkDpB,SAAA,eAAA65B,WAAA,GAAAz4B,KAAA,UAAqDpB,SAAA,iBAAA65B,WAAA,GAAAz4B,KAAA,QAAA/B,KAAA,eAAyEW,SAAA,cAAA65B,WAAA,EAAAz4B,KAAA,SAAgDw1B,iBAAA6C,0BAA4CgC,WAAA,SAAAr3B,GAAwB,QAAA6D,GAAAA,GAAc7D,EAAApF,KAAA+I,KAAAE,EAAAuzB,eAA6B,MAAAp3B,KAAA6D,EAAA8xB,UAAA31B,GAAA6D,EAAAhI,UAAAT,OAAA6K,OAAAjG,GAAAA,EAAAnE,WAAAgI,EAAAhI,UAAAirB,YAAAjjB,EAAAA,EAAAhI,UAAAgX,WAAA,SAAA7S,GAAiI,IAAA,GAAA6D,GAAAF,KAAAG,EAAAH,KAAA+oB,OAAA,GAAA9sB,OAAAnF,EAAAqJ,EAAA,aAAAE,EAAAF,EAAA,YAAArI,EAAAqI,EAAA,oBAAA9I,EAAA8I,EAAA,oBAAA9H,EAAA,EAAA+H,EAAAupB,aAAAttB,EAAjjC,IAAytChE,EAAA+H,EAAA1H,OAAWL,GAAA,EAAA,CAAM,GAAAtB,GAAAqJ,EAAA/H,EAAW6H,GAAAyzB,QAAA58B,EAAAsF,EAAAvF,EAAAuJ,EAAAvI,EAAAT,KAAwB6I,EAAAhI,UAAAy7B,QAAA,SAAAt3B,EAAA6D,EAAAC,EAAArJ,EAAAuJ,EAAAvI,GAA2C,IAAA,GAAAT,GAAA2I,KAAA3H,EAAA6H,EAAAzG,WAAA2G,EAAA,YAAAqoB,kBAAAiB,MAAAxpB,EAAA7G,MAAAtC,EAAAsF,EAAA3D,OAAuF3B,GAAA,GAAAsF,EAAAtF,EAAA,GAAAyQ,OAAAnL,EAAAtF,EAAA,KAA4BA,GAAK,KAAA,GAAAS,GAAA,EAAYA,EAAAT,EAAA,GAAAsF,EAAA7E,GAAAgQ,OAAAnL,EAAA7E,EAAA,KAA2BA,GAAK,MAAAT,GAAAqJ,EAAA,EAAA,IAAA,CAAiB,UAAAD,IAAAE,EAAA,KAAsB,IAAAjI,GAAAu5B,QAAA,IAAA3xB,KAAAwwB,aAAngD,GAAmgDr5B,EAAAkF,EAAA7E,GAAAi7B,EAAAzyB,KAAA0wB,OAAAxvB,EAAAuxB,EAAA/C,eAAA,GAAA34B,EAAwGiJ,MAAA4zB,SAAA,CAAgB,IAAAzyB,GAAAjK,EAAA+7B,EAAA1xB,EAAAsyB,EAAA7yB,EAAArB,EAAA0B,EAAAvK,EAAAg9B,EAAA1zB,EAAA,OAAAtJ,EAAAsU,GAAA,CAAwCpL,MAAA+zB,GAAA/zB,KAAAg0B,GAAAh0B,KAAAi0B,IAAA,EAAA7zB,IAAAe,EAAA9E,EAAAtF,EAAA,GAAA88B,EAAA18B,EAAAmmB,IAAAnc,GAAA4c,QAAAE,QAAoE,KAAA,GAAAiW,GAAA18B,EAAY08B,EAAAn9B,EAAIm9B,IAAA,KAAAjB,EAAA7yB,GAAA8zB,IAAAn9B,EAAA,EAAAsF,EAAA7E,EAAA,GAAA6E,EAAA63B,EAAA,MAAA73B,EAAA63B,GAAA1sB,OAAAyrB,GAAA,CAAuDY,IAAAtyB,EAAAsyB,GAAA1yB,IAAAjK,EAAAiK,GAAAA,EAAA9E,EAAA63B,GAAAL,EAAAZ,EAAAA,EAAA3V,IAAAnc,GAAA4c,QAAAE,QAAA1c,CAA+D,IAAA4yB,IAA/D5yB,EAAAA,GAAAsyB,GAA+D10B,IAAA00B,EAAe,KAAAM,EAAA5yB,GAAA,IAAA4yB,EAAAhzB,GAAAgzB,EAAApW,OAA4B,IAAAzP,GAAA6lB,EAAA5yB,EAAAsyB,EAAAtyB,EAAA4yB,EAAAhzB,EAAA0yB,EAAA1yB,EAAA8P,EAAA,IAAA3C,EAAA,EAAAA,EAAA,EAAA,EAAA9M,EAAA8M,EAAAglB,uBAAAp8B,GAAA+7B,CAAsE,IAAAzxB,GAAA0yB,EAAA18B,EAAA,CAAW,GAAAmK,GAAAR,EAAA+J,KAAAhU,EAAgB,IAAAyK,EAAA,EAAAvJ,EAAA,CAAU,GAAAqJ,GAAAN,EAAAmc,IAAAnc,EAAAmc,IAAApmB,GAAAumB,MAAArlB,EAAAuJ,GAAAuc,SAA0C7mB,GAAAu8B,UAAAnyB,EAAAyJ,KAAAhU,GAAAG,EAAA+8B,iBAAA3yB,EAAApK,EAAAu8B,SAAAryB,EAAAic,KAAA,GAAA,EAAA,GAAA,EAAAtc,GAAAhK,EAAAuK,GAA+E,GAAAH,GAAApK,GAAA+7B,EAAAoB,EAAA/yB,EAAAnB,EAAA8yB,EAAA5xB,EAAAyyB,CAAuB,IAAAxyB,GAAA,UAAA+yB,IAAApjB,EAAAnZ,EAAAu8B,EAAA,QAAApjB,GAAA,IAAAojB,EAAA,cAAA,UAAAA,GAAApjB,EAAA5Q,IAAAg0B,EAAA,SAAA,UAAAA,IAAApjB,EAAA,IAAAojB,EAAA,aAAApjB,EAAA5Q,IAAAg0B,EAAA,UAAAn9B,IAAAG,EAAAu8B,UAAAzyB,EAAA+J,KAAAhU,IAAA,UAAAm9B,EAAAF,EAAA1W,MAAAxM,GAAA5Z,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAO,EAAA,EAAA,GAAA,EAAAjzB,OAA0O,IAAA,cAAAmzB,EAAA,CAAyB,GAAApjB,EAAA,IAAAkjB,EAAAN,EAAAzW,QAAAI,MAAA,OAA8B,CAAK,GAAA1b,GAAAP,EAAAA,EAAAsyB,EAAA1yB,EAAAI,EAAAJ,EAAA0yB,EAAAtyB,EAAA,GAAA,EAAA,EAAAsR,EAAA5B,EAAA1P,EAAApC,IAAA00B,GAAA1V,MAAA5c,EAAA+b,IAAAuW,GAAA1V,KAA+DgW,GAAAlW,QAAAR,MAAA5K,EAAA/Q,GAAqBzK,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAO,EAAA,EAAA,GAAA,EAAAjzB,GAAA7J,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAO,EAAA3W,MAAA,GAAA,EAAA,GAAA,EAAAtc,OAAiG,IAAA,UAAAmzB,GAAA,cAAAA,EAAA,CAAsC,GAAAC,GAAA/yB,EAAAA,EAAAsyB,EAAA1yB,EAAAI,EAAAJ,EAAA0yB,EAAAtyB,EAAA,EAAAgzB,GAAA1zB,KAAA2R,KAAAvB,EAAAA,EAAA,EAA4C,IAAAqjB,GAAA30B,EAAA,EAAAqB,EAAAuzB,IAAAvzB,EAAA,EAAArB,EAAA40B,GAAAnpB,GAAA/T,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAryB,EAAAP,EAAArB,GAAA,EAAAuB,GAAA,cAAAmzB,EAAA,CAAyF,IAAA,GAAAtyB,GAAAlB,KAAAwN,MAAA,GAAA,IAAAC,EAAA,MAAArN,MAAA,GAAAuzB,EAAA,EAAiDA,EAAAzyB,EAAIyyB,IAAAvzB,EAAA4yB,EAAArW,MAAAgX,EAAA,IAAAzyB,EAAA,IAAAsb,KAAA9b,GAAAwc,QAAA1mB,EAAAo9B,kBAAAtzB,EAAA9J,EAAAu8B,SAAA3yB,EAAAqzB,EAAApzB,EAAkF7J,GAAAo9B,kBAAAtzB,EAAA9J,EAAAu8B,SAAAO,EAAAG,EAAApzB,EAAwC,KAAA,GAAAU,GAAAG,EAAA,EAAcH,GAAA,EAAKA,IAAAX,EAAAM,EAAAic,MAAA5b,EAAA,IAAAG,EAAA,IAAAsb,KAAAwW,GAAA9V,QAAA1mB,EAAAo9B,kBAAAtzB,EAAA9J,EAAAu8B,SAAA3yB,EAAAqzB,EAAApzB,GAAkF+xB,GAAA57B,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAC,GAAA7yB,GAAArB,GAAA,EAAAuB,OAAiD,SAAAmzB,GAAAjpB,GAAA/T,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAryB,EAAA,EAAA,GAAA,EAAAL,GAAA+xB,GAAA57B,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAC,EAAA,EAAA,GAAA,EAAA3yB,IAAA,WAAAmzB,GAAAjpB,IAAA/T,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAryB,EAAA,EAAA,GAAA,EAAAL,GAAA7J,EAAA08B,GAAA18B,EAAA28B,IAAA,GAAAf,GAAA57B,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAC,GAAA,GAAA,GAAA,EAAA3yB,IAAA,UAAAmzB,IAAAjpB,IAAA/T,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAryB,EAAA,EAAA,GAAA,EAAAL,GAAA7J,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAryB,EAAA,EAAA,GAAA,EAAAL,GAAA7J,EAAA08B,GAAA18B,EAAA28B,IAAA,GAAAf,IAAA57B,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAC,GAAA,GAAA,GAAA,EAAA3yB,GAAA7J,EAAA+8B,iBAAAjzB,EAAA9J,EAAAu8B,SAAAC,EAAA,EAAA,GAAA,EAAA3yB,IAAqc,IAAAM,GAAA0yB,EAAAn9B,EAAA,EAAA,CAAa,GAAA29B,GAAAvzB,EAAA+J,KAAA+nB,EAAgB,IAAAyB,EAAA,EAAAt8B,EAAA,CAAU,GAAAgJ,GAAAD,EAAAhC,IAAA8zB,EAAA3V,IAAAnc,GAAAsc,MAAArlB,EAAAs8B,GAAAxW,SAA0C7mB,GAAAu8B,UAAAxyB,EAAA8J,KAAA/J,GAAA9J,EAAA+8B,iBAAAhzB,EAAA/J,EAAAu8B,SAAAC,EAAArW,KAAA,GAAA,EAAA,GAAA,EAAAtc,GAAAC,EAAAC,GAA+EgK,GAAA,EAAKqnB,EAAA5C,oBAAAx3B,KAA0B6H,EAAAhI,UAAAk8B,iBAAA,SAAA/3B,EAAA6D,EAAAC,EAAArJ,EAAAuJ,EAAAvI,EAAAT,GAAsD,GAAAgB,GAAA+H,EAAAtI,EAAA,EAAA,EAAAf,EAAAiJ,KAAA0wB,OAAAl5B,EAAAT,EAAA63B,kBAAAx2B,EAAArB,EAAA+3B,YAAmEz2B,GAAA8H,EAAAid,QAAAtmB,GAAAuB,EAAAklB,KAAApd,EAAA6d,OAAAP,MAAA3mB,IAAAq8B,cAAA37B,EAAA6E,EAAAhE,EAAA+H,EAAA,EAAAtJ,EAAAoJ,GAAAF,KAAAi0B,GAAA58B,EAAAk3B,eAAAvuB,KAAA+zB,IAAA,GAAA/zB,KAAAg0B,IAAA,IAAA57B,EAAAq5B,YAAAzxB,KAAA+zB,GAAA/zB,KAAAg0B,GAAAh0B,KAAAi0B,IAAA58B,EAAAm3B,mBAAAxuB,KAAA+zB,GAAA/zB,KAAAg0B,GAAAh0B,KAAAg0B,GAAAh0B,KAAAi0B,GAAA57B,EAAA8H,EAAAqd,MAAA,GAAAnd,GAAAhI,EAAAklB,KAAApd,EAAA6d,OAAAP,MAAApd,IAAA8yB,cAAA37B,EAAA6E,EAAAhE,EAAA+H,EAAA,GAAAC,EAAAH,GAAAF,KAAAi0B,GAAA58B,EAAAk3B,eAAAvuB,KAAA+zB,IAAA,GAAA/zB,KAAAg0B,IAAA,IAAA57B,EAAAq5B,YAAAzxB,KAAA+zB,GAAA/zB,KAAAg0B,GAAAh0B,KAAAi0B,IAAA58B,EAAAm3B,mBAAAxuB,KAAA+zB,GAAA/zB,KAAAg0B,GAAAh0B,KAAAg0B,GAAAh0B,KAAAi0B,GAAA/zB,EAAAqzB,kBAAA,IAAAvzB,KAAA4zB,SAAA,EAAA5zB,KAAAo0B,iBAAA/3B,EAAA2D,KAAA4zB,SAAAzzB,EAAArJ,EAAAuJ,EAAAvI,EAAAT,KAAogB6I,EAAAhI,UAAAu8B,kBAAA,SAAAp4B,EAAA6D,EAAAC,EAAArJ,EAAAuJ,GAAmD,GAAAvI,GAAAhB,EAAA,EAAA,CAAYqJ,GAAAA,EAAAqd,KAAA1mB,GAAA,EAAA,EAAiB,IAAAO,GAAA2I,KAAA0wB,OAAAr4B,EAAAhB,EAAAu3B,kBAAAxuB,EAAA/I,EAAAy3B,YAAyDqE,eAAA96B,EAAAgE,EAAA8D,EAAA,EAAArI,EAAA,EAAAoI,GAAAF,KAAAi0B,GAAA5zB,EAAAkuB,eAAAvuB,KAAA+zB,IAAA,GAAA/zB,KAAAg0B,IAAA,IAAA5zB,EAAAqxB,YAAAzxB,KAAA+zB,GAAA/zB,KAAAg0B,GAAAh0B,KAAAi0B,IAAA5zB,EAAAmuB,mBAAA13B,EAAAkJ,KAAAg0B,GAAAh0B,KAAAi0B,GAAAj0B,KAAA+zB,GAAA/zB,KAAAi0B,IAA6K/zB,GAAGqwB,OAASmD,YAAAzB,iBAAAwB,cAAA58B,OAAAD,QAAA88B,aACl4JxB,YAAA,GAAAC,wBAAA,GAAAC,YAAA,GAAAC,mBAAA,GAAA1G,cAAA,KAAgGgJ,IAAA,SAAAj0B,QAAA7J,OAAAD,SACnG,YAAa,SAAAg8B,WAAAv2B,EAAA6D,EAAA1I,EAAA6I,EAAAvJ,EAAAqJ,EAAArI,EAAAO,EAAAtB,EAAAI,EAAAiJ,EAAAe,GAA4C9E,EAAAo1B,YAAAvxB,EAAA1I,EAAAqJ,KAAAyO,MAAA,GAAAjP,GAAAQ,KAAAyO,MAAA,GAAAxY,GAAAqJ,EAAA,EAAArI,EAAA,EAAA88B,iBAAA,IAAAx0B,GAAA,GAAAe,EAAA,KAAAyzB,iBAAA,IAAA79B,GAAA,GAAA,GAAA8J,KAAAgK,IAAA1T,GAAA,GAAA,KAAAkB,EAAAA,EAAA,OAAA,GAAAA,EAAAA,EAAA,OAAA,GAAAA,EAAAA,EAAA,OAAA,IAA2L,QAAAw8B,uBAAAx4B,EAAA6D,EAAA1I,EAAA6I,EAAAvJ,GAA0C,MAAAuF,GAAAo1B,YAAAvxB,EAAAqB,EAAArB,EAAAiB,EAAAN,KAAAyO,MAAA9X,EAAA+J,GAAAV,KAAAyO,MAAA9X,EAAA2J,GAAA,GAAAd,EAAA,GAAAvJ,GAAwE,QAAAg+B,aAAAz4B,EAAA6D,EAAA1I,GAA4B,GAAA6I,IAAO00B,kBAAA70B,EAAA80B,6BAAAx9B,GAAAy9B,eAAA/0B,EAAAg1B,0BAAA19B,GAAmG,IAAA6I,EAAA00B,oBAAA10B,EAAA80B,WAAAj1B,EAAAk1B,eAAA59B,GAA0D+D,KAAAc,EAAA,MAASgE,EAAA40B,eAAA,CAAsB,IAAA,GAAAn+B,GAAAoJ,EAAAm1B,6BAAA79B,GAAA2I,EAAA,EAAgDA,EAAArJ,EAAA4B,QAAA5B,EAAAqJ,IAAA9D,GAAoB8D,GAAuB,KAAA,GAAArI,GAAlBqI,EAAAU,KAAAyD,IAAA,EAAAnE,EAAA,GAA8BrI,EAAAhB,EAAA4B,QAAA5B,EAAAgB,GAAAuE,EAAA,GAAqBvE,GAAKA,GAAA+I,KAAAgK,IAAA/T,EAAA4B,OAAA,EAAAZ,GAAAuI,EAAAi1B,mBAAAx+B,EAAAqJ,GAAArJ,EAAAgB,IAAAoI,EAAA80B,6BAAAx9B,KAAA6I,EAAAk1B,oBAAAr1B,EAAAk1B,eAAA59B,GAAuI+D,KAAAzE,EAAAqJ,KAAUD,EAAAk1B,eAAA59B,GAAsB+D,KAAAzE,EAAAgB,OAAUuI,EAAAm1B,aAAAt1B,EAAAu1B,kBAAAj+B,GAAAk+B,SAAA,KAAAr1B,EAAAm1B,eAAAn1B,EAAAm1B,aAAA,GAAAn1B,EAAAs1B,aAAAz1B,EAAAu1B,kBAAAj+B,GAAA6B,MAAA,cAAgK,MAAAgH,GAAS,QAAAu1B,8BAAAv5B,EAAA6D,GAA2C,MAAA7D,GAAA64B,0BAAAh1B,KAAA7D,EAAA24B,6BAAA90B,KAA4E5I,KAAA,SAAAu6B,WAAA,EAAAx4B,KAAA,WAAyCgD,EAAA64B,0BAAAh1B,IAAA7D,EAAA24B,6BAAA90B,QAAyE5I,KAAA,SAAAu6B,WAAA,EAAAx4B,KAAA,WAA2C,QAAAw8B,mBAAAx5B,EAAA6D,EAAA1I,EAAA6I,EAAAvJ,GAAsC,MAAAuF,GAAA64B,0BAAA70B,KAAAhE,EAAA24B,6BAAA30B,IAAA,GAAAhE,EAAA+4B,eAAA/0B,KAAmGvJ,IAAAuF,EAAA64B,0BAAA70B,IAAAhE,EAAA24B,6BAAA30B,GAAA,MAAA,GAAAhE,EAAA+4B,eAAA/0B,GAAoG9E,KAAA/D,EAAA,IAAUV,GAAA,GAAAuF,EAAA+4B,eAAA/0B,GAA2B9E,KAAA/D,EAAA,IAAUV,GAAA,GAAAuF,EAAA+4B,eAAA/0B,GAA2B9E,KAAA,EAAA2E,GAASpJ,IAAK,GAAAqmB,OAAAzc,QAAA,kBAAA+tB,WAAA/tB,QAAA,kBAAA2vB,YAAA3vB,QAAA,mBAAAgxB,uBAAAhxB,QAAA,yBAAAixB,OAAAjxB,QAAA,aAAAk0B,iBAAAl0B,QAAA,kCAAAk0B,iBAAAkB,OAAAp1B,QAAA,uBAAAq1B,WAAAr1B,QAAA,4BAAAs1B,cAAAt1B,QAAA,oBAAAu1B,MAAAv1B,QAAA,sBAAAw1B,QAAAx1B,QAAA,wBAAAy1B,cAAAz1B,QAAA,+BAAA01B,WAAA11B,QAAA,2BAAA21B,SAAA31B,QAAA,0BAAA4vB,KAAA5vB,QAAA,mBAAA41B,gBAAA51B,QAAA,+BAAAipB,aAAAjpB,QAAA,oBAAA61B,iBAAA71B,QAAA,kCAAA81B,0BAAA91B,QAAA,2CAAA+oB,cAAA/oB,QAAA,6BAAA+nB,kBAAA/nB,QAAA,eAAA+nB,kBAAAgO,UAAAP,QAAAO,UAAAC,UAAAR,QAAAQ,UAAAC,YAAAT,QAAAS,YAAAC,cAAAX,MAAAW,cAAAC,aAAAZ,MAAAY,aAAAhI,iBAAA6C,yBAAA/C,mBAAsrCr3B,KAAA,eAAAu6B,WAAA,EAAAx4B,KAAA,UAAgD/B,KAAA,SAAAu6B,WAAA,EAAAx4B,KAAA,WAAyCy9B,kBAAoBC,OAAOpI,iBAAAA,iBAAAE,iBAAAA,iBAAAM,kBAAsF73B,KAAA,eAAAW,SAAA,aAAAoB,KAAA,UAAyD/B,KAAA,eAAAW,SAAA,kBAAAoB,KAAA,UAA8D/B,KAAA,eAAAW,SAAA,kBAAAoB,KAAA,SAAAy4B,WAAA,KAA6Ex6B,KAAA,cAAAW,SAAA,iBAAAoB,KAAA,SAAAy4B,WAAA,KAA2Ex6B,KAAA,YAAAW,SAAA,eAAAoB,KAAA,QAAAy4B,WAAA,OAAuEn4B,MAAOg1B,iBAAAA,iBAAAE,iBAAAA,iBAAAM,kBAAsF73B,KAAA,eAAAW,SAAA,aAAAoB,KAAA,UAAyD/B,KAAA,eAAAW,SAAA,kBAAAoB,KAAA,UAA8D/B,KAAA,eAAAW,SAAA,kBAAAoB,KAAA,SAAAy4B,WAAA,KAA6Ex6B,KAAA,cAAAW,SAAA,iBAAAoB,KAAA,SAAAy4B,WAAA,KAA2Ex6B,KAAA,YAAAW,SAAA,eAAAoB,KAAA,QAAAy4B,WAAA,OAAuEkF,cAAerI,mBAAmBr3B,KAAA,QAAAu6B,WAAA,EAAAx4B,KAAA,UAAyC/B,KAAA,YAAAu6B,WAAA,EAAAx4B,KAAA,UAA6C/B,KAAA,SAAAu6B,WAAA,EAAAx4B,KAAA,UAAwCw1B,iBAAA6C,uBAAA,KAA8CuF,aAAA,SAAA56B,GAA0B,GAAA6D,GAAAF,IAAWA,MAAAk3B,kBAAA76B,EAAA66B,kBAAAl3B,KAAAzE,KAAAc,EAAAd,KAAAyE,KAAAwwB,YAAAn0B,EAAAm0B,YAAAxwB,KAAA+oB,OAAA1sB,EAAA0sB,OAAA/oB,KAAAywB,MAAAp0B,EAAAo0B,MAAAzwB,KAAAm3B,SAAA96B,EAAA86B,SAAAn3B,KAAAo3B,gBAAA/6B,EAAA+6B,gBAAAp3B,KAAAq3B,UAAAh7B,EAAAg7B,SAA8N,IAAA7/B,GAAAwI,KAAA+oB,OAAA,EAAqB,IAAA/oB,KAAA82B,kBAA0BC,MAAAzG,KAAAnzB,UAAoB25B,iBAAAC,OAAyBpI,oBAAA1qB,OAAA6yB,iBAAAC,MAAApI,iBAAAiH,6BAAAp+B,EAAA,gBAAgHmC,KAAA22B,KAAAnzB,UAAqB25B,iBAAAn9B,MAAwBg1B,oBAAA1qB,OAAA6yB,iBAAAn9B,KAAAg1B,iBAAAiH,6BAAAp+B,EAAA,gBAA+Gw/B,aAAA1G,KAAAnzB,UAA6B25B,iBAAAE,cAAgCrI,oBAAA1qB,OAAA6yB,iBAAAE,aAAArI,qBAA6EtyB,EAAAq0B,OAAA,CAAW1wB,KAAA2wB,UAAgB,KAAA,GAAAtwB,KAAAhE,GAAAq0B,OAAAr0B,EAAAq0B,OAAArwB,KAAAH,EAAAywB,QAAAtwB,GAAA,GAAAgwB,aAAAnwB,EAAA42B,iBAAAz2B,GAAAhE,EAAA0sB,OAAA1sB,EAAAd,KAAAc,EAAAq0B,OAAArwB,IAAqHL,MAAAs3B,aAAAj7B,EAAAi7B,aAAAt3B,KAAAu3B,aAAAl7B,EAAAk7B,iBAAkEv3B,MAAAs3B,aAAAxC,YAAA90B,KAAAzE,KAAA/D,EAAA,aAAAwI,KAAAu3B,aAAAzC,YAAA90B,KAAAzE,KAAA/D,EAAA,aAAoHy/B,cAAA/+B,UAAA04B,SAAA,SAAAv0B,EAAA6D,GAA8C,GAAA1I,GAAAwI,KAAAK,EAAAL,KAAA+oB,OAAA,GAAAjyB,EAAAuJ,EAAApE,OAAAkE,EAAArJ,EAAA,aAAAgB,IAAAuI,EAAA20B,6BAAA,eAAAl+B,EAAA,gBAAAqJ,EAAA9H,GAAAgI,EAAA20B,6BAAA,eAAAl+B,EAAA,aAA+L,IAAAkJ,KAAA1G,YAAAxB,GAAAO,EAAA,CAA0B,IAAA,GAAAtB,GAAAmJ,EAAAs3B,iBAAArgC,EAAA+I,EAAAu3B,kBAAAr3B,EAAAjJ,EAAAgJ,GAAAhJ,EAAAgJ,OAAkEgB,GAAI5F,KAAAyE,KAAAzE,MAAenD,EAAA,EAAKA,EAAAiE,EAAA3D,OAAWN,IAAA,CAAK,GAAAlB,GAAAmF,EAAAjE,EAAW,IAAAiI,EAAAqT,OAAAxc,GAAA,CAAgB,GAAAgK,OAAA,EAAapJ,KAAAoJ,EAAAb,EAAA+0B,eAAA,aAAAj0B,EAAAjK,EAAAuC,YAAA4G,EAAA20B,6BAAA,gBAAA9zB,EAAA80B,cAAA9+B,EAAAuC,WAAAyH,IAAAA,EAAAi1B,cAAAj1B,EAAAb,EAAAc,EAAAjK,EAAAuC,YAAyK,IAAA8H,OAAA,EAAa,IAAAlJ,IAAAkJ,EAAAlB,EAAA+0B,eAAA,aAAAj0B,EAAAjK,EAAAuC,YAAA4G,EAAA20B,6BAAA,gBAAAzzB,EAAAy0B,cAAA9+B,EAAAuC,WAAA8H,MAAAL,GAAAK,KAAA/J,EAAA8B,SAAAsB,MAAkKyE,KAAA6B,EAAAvH,KAAA4H,EAAAkvB,MAAAr4B,EAAAs/B,iBAAAxgC,EAAAwgC,iBAAAn+B,SAAAowB,aAAAzyB,GAAAuC,WAAAvC,EAAAuC,WAAAJ,KAAAovB,kBAAAiB,MAAAxyB,EAAAmC,QAAgJkI,IAAAxK,EAAAwK,IAAA,GAAAL,GAAA,IAAA,GAAA7J,GAAA,EAA8BA,EAAA6J,EAAAxI,OAAWrB,IAAA+I,EAAAc,EAAA2W,WAAAxgB,KAAA,GAA2B,SAAAP,EAAA,sBAAAkJ,KAAA1G,SAAA88B,WAAAp2B,KAAA1G,aAA2E29B,aAAA/+B,UAAA83B,QAAA,WAA2C,MAAAhwB,MAAA0wB,OAAA/2B,KAAAq2B,WAAAhwB,KAAA0wB,OAAAqG,MAAA/G,WAAAhwB,KAAA0wB,OAAAsG,aAAAhH,WAAmGiH,aAAA/+B,UAAA44B,2BAAA,WAA8D,IAAA,GAAAz0B,GAAA2D,KAAAE,KAAmB1I,EAAA,EAAA6I,EAAAhE,EAAA0sB,OAAgBvxB,EAAA6I,EAAA3H,OAAWlB,GAAA,EAAA,CAAM,GAAAV,GAAAuJ,EAAA7I,EAAW0I,GAAApJ,EAAAsC,IAAAk3B,KAAAnzB,UAAsBd,EAAAq0B,OAAA/2B,KAAAs1B,UAAAn4B,EAAAsC,IAAAk2B,wBAAAjzB,EAAAq0B,OAAAqG,MAAA9H,UAAAn4B,EAAAsC,IAAAk2B,yBAA+G,MAAApvB,IAAS+2B,aAAA/+B,UAAA+1B,UAAA,SAAA5xB,GAA8C,OAAOd,KAAAyE,KAAAzE,KAAAy1B,SAAAhxB,KAAA+oB,OAAA9tB,IAAA,SAAAoB,GAAoD,MAAAA,GAAAjD,KAAY+9B,SAAAn3B,KAAAm3B,SAAAC,gBAAAp3B,KAAAo3B,gBAAAE,aAAAt3B,KAAAs3B,aAAAC,aAAAv3B,KAAAu3B,aAAAF,UAAAr3B,KAAAq3B,UAAA3G,OAAAJ,KAAAS,UAAA/wB,KAAA0wB,OAAA,SAAAxwB,GAAmM,MAAAA,GAAA8vB,UAAA,KAAA9vB,EAAA+tB,UAAA5xB,OAA0C46B,aAAA/+B,UAAAoiB,QAAA,WAA2Cta,KAAA2wB,UAAA3wB,KAAA2wB,QAAAh3B,MAAAqG,KAAA2wB,QAAAh3B,KAAA2gB,UAAAta,KAAA2wB,QAAAoG,OAAA/2B,KAAA2wB,QAAAoG,MAAAzc,UAAAta,KAAA2wB,QAAAqG,cAAAh3B,KAAA2wB,QAAAqG,aAAA1c,UAAAta,KAAA2wB,QAAA,OAAiMsG,aAAA/+B,UAAAy/B,aAAA,WAAgD,GAAAt7B,GAAA2D,IAAWA,MAAA0wB,OAAAJ,KAAAS,UAAA/wB,KAAA82B,iBAAA,SAAA52B,GAA6D,MAAA,IAAAuuB,YAAAvuB,EAAA7D,EAAA0sB,OAAA1sB,EAAAd,SAA2C07B,aAAA/+B,UAAA0/B,QAAA,SAAAv7B,EAAA6D,GAA8C,GAAA1I,GAAAwI,IAAWA,MAAA63B,kBAAwB,IAAAx3B,GAAA,IAAAL,KAAAwwB,WAA2BxwB,MAAA83B,eAAAnG,OAAAtxB,EAAAL,KAAA+3B,eAAgD/3B,KAAAo3B,iBAAA,CAAyB,IAAAtgC,GAAAkJ,KAAA+oB,OAAA,GAAA9sB,OAAAkE,EAAA,GAAArI,EAAA,EAAsC,QAAAhB,EAAA,gBAAyB,IAAA,QAAA,IAAA,YAAA,IAAA,eAAAqJ,EAAA,CAAmD,MAAM,KAAA,OAAA,IAAA,WAAA,IAAA,cAAAA,EAAA,EAAgD,OAAArJ,EAAA,gBAAyB,IAAA,SAAA,IAAA,eAAA,IAAA,cAAAgB,EAAA,CAAsD,MAAM,KAAA,MAAA,IAAA,YAAA,IAAA,WAAAA,EAAA,EAA6C,IAAA,GAAAO,GAAA,UAAAvB,EAAA,gBAAA,EAAA,SAAAA,EAAA,gBAAA,EAAA,GAAAC,EAAA,GAAAI,EAAAL,EAAA,oBAAAC,EAAAqJ,EAAA,SAAAtJ,EAAA,oBAAAA,EAAA,kBAAAC,EAAA,EAAAoK,EAAArK,EAAA,uBAAAC,EAAAqB,EAAA4H,KAAAq3B,UAAAvgC,EAAA,aAAAmH,KAAA,KAAA/G,EAAA,QAAAJ,EAAA,4BAAA,SAAAA,EAAA,oBAAAoK,EAAA,EAAAK,EAAA/J,EAAA8B,SAA+T4H,EAAAK,EAAA7I,OAAWwI,GAAA,EAAA,CAAM,GAAA7J,GAAAkK,EAAAL,GAAAO,MAAA,EAAoB,IAAApK,EAAAgI,KAAA,CAAW,GAAAM,GAAA22B,gBAAA0B,0BAAA3gC,EAAAgI,MAAAmC,EAAAhK,EAAAuxB,OAAA,GAAAqM,eAAA,eAAoG75B,KAAA/D,EAAA+D,MAAYlE,EAAAoC,YAAAwB,IAAA,SAAAoB,GAA+B,MAAAA,GAAAtF,KAAa0K,MAAIk1B,YAAAsB,YAAAxB,UAAAp/B,EAAAgI,KAAAhD,EAAAjE,GAAAgI,EAAAjJ,EAAAgJ,EAAArI,EAAAO,EAAA8I,EAAAK,EAAAzK,EAAA4/B,YAAAsB,YAAAx2B,EAAAk1B,YAAAuB,UAAAv4B,GAAAzI,GAAAu/B,UAAAp/B,EAAAgI,KAAAhD,EAAAjE,GAAAgI,EAAAjJ,EAAAgJ,EAAArI,EAAAO,EAAA8I,EAAAK,EAAAzK,EAAA4/B,YAAAuB,cAAmLz2B,KAAU,IAAAT,OAAA,EAAa,IAAA3J,EAAAsC,KAAA,CAAW,GAAAyR,GAAAlL,EAAA7I,EAAAsC,MAAAw6B,EAAA38B,EAAAuxB,OAAA,GAAAqM,eAAA,eAA4D75B,KAAA/D,EAAA+D,MAAYlE,EAAAoC,WAAeuH,GAAA01B,UAAAtrB,EAAA+oB,GAAA/oB,QAAA,KAAA5T,EAAA2/B,SAAA3/B,EAAA2/B,SAAA/rB,EAAA+sB,IAAA3gC,EAAA2/B,WAAA/rB,EAAA+sB,KAAA7H,KAAA8H,SAAA,uEAAA,IAAAhtB,EAAAitB,WAAA7gC,EAAA4/B,iBAAA,EAAA,IAAAtgC,EAAA,gBAAAU,EAAAuxB,OAAA,GAAAiM,6BAAA,iBAAAx9B,EAAA4/B,iBAAA,KAAgT31B,EAAAk1B,YAAAsB,aAAAj3B,IAAAxJ,EAAA0X,WAAA7X,EAAAoK,EAAAT,KAAqDi2B,aAAA/+B,UAAAgX,WAAA,SAAA7S,EAAA6D,EAAA1I,GAAmD,GAAA6I,GAAAL,KAAAlJ,EAAAkJ,KAAA+oB,OAAA,GAAAqM,eAAA,aAAwD75B,KAAAyE,KAAAzE,KAAA,GAAiBc,EAAA5C,YAAA0G,EAAAH,KAAA+oB,OAAA,GAAAqM,eAAA,aAA4D75B,KAAAyE,KAAAzE,KAAA,GAAiBc,EAAA5C,YAAA3B,EAAAkI,KAAA+oB,OAAA,GAAAqM,eAAA,aAA4D75B,KAAA,IAAQc,EAAA5C,gBAAe,KAAA3B,IAAAA,EAAAhB,EAAkB,IAAAuB,GAAA2H,KAAA+oB,OAAA,GAAA9sB,OAAA9E,EAAAL,EAAA,GAAAsJ,EAAAJ,KAAA83B,eAAA3gC,EAAAgK,EAAAnB,KAAA83B,eAAAhgC,EAAA,GAAAM,EAAA4H,KAAA83B,eAAA33B,EAAAjJ,EAAA8I,KAAA83B,eAAAz/B,EAAA,kBAAA6I,EAAA7I,EAAA,sBAAAkJ,EAAAlJ,EAAA,gBAAA2H,KAAA83B,eAAAzgC,EAAAgB,EAAA,gBAAA2H,KAAA83B,eAAAr2B,EAAApJ,EAAA,kBAAA,IAAAwI,KAAAgG,GAAAlH,EAAA,QAAAtH,EAAA,4BAAA,SAAAA,EAAA,oBAAAmJ,EAAA,QAAAnJ,EAAA,4BAAA,SAAAA,EAAA,oBAAA2I,EAAA3I,EAAA,uBAAAA,EAAA,uBAAAA,EAAA,0BAAAA,EAAA,yBAAA87B,EAAAj9B,EAAA,EAAAoR,EAAA,SAAAxR,EAAAqJ,GAA8kB,GAAArI,KAAAqI,EAAAoB,EAAA,GAAApB,EAAAoB,EAAAowB,QAAAxxB,EAAAgB,EAAA,GAAAhB,EAAAgB,EAAAwwB,OAA8C,KAAAzwB,GAAApJ,EAAA,CAAU,GAAAO,GAAAP,GAAAkJ,CAAWX,GAAAi4B,kBAAAn4B,EAAArJ,EAAAoJ,EAAA1I,EAAA6I,EAAA0oB,OAAA,GAAA1wB,EAAAgI,EAAA62B,kBAAA76B,EAAAo0B,MAAAp0B,EAAAq7B,iBAAAr3B,EAAAowB,MAAArwB,EAAAmB,EAAA5B,EAAAvH,EAAAf,EAAAmK,GAA8GjG,KAAA8E,EAAA9E,MAAYc,EAAA5C,aAAiB,IAAA,SAA5xBpB,EAAA,oBAA4xB,IAAA,GAAAg8B,GAAA,EAAApzB,EAAAo1B,SAAAh6B,EAAA9C,SAAA,EAAA,EAAAo4B,OAAAA,QAAmE0C,EAAApzB,EAAAvI,OAAW27B,GAAA,EAAA,IAAA,GAAAP,GAAA7yB,EAAAozB,GAAAhzB,EAAA00B,WAAAjC,EAAA58B,EAAAuK,EAAAvB,EAAAy2B,YAAAuB,WAAAh4B,EAAAy2B,YAAAsB,YAAAzgC,EAA12B,GAA02B2J,EAAAd,EAAAmwB,YAAAmB,QAAArjB,EAAA,EAAA4lB,EAAA7yB,EAA8HiN,EAAA4lB,EAAAx7B,OAAW4V,GAAA,EAAA,CAAM,GAAAmkB,GAAAyB,EAAA5lB,GAAAxM,EAAA5B,EAAAy2B,YAAAsB,WAAuCn2B,IAAAzB,EAAAk4B,iBAAAz2B,EAAAzC,KAAA80B,EAAA1B,IAAAnqB,EAAAwrB,EAAArB,OAA0C,IAAA,YAAAp2B,EAAAhD,KAAA,IAAA,GAAAw6B,GAAA,EAAAZ,EAAAxJ,cAAAptB,EAAA9C,SAAA,GAAqEs6B,EAAAZ,EAAAv6B,OAAWm7B,GAAA,EAAA,CAAM,GAAAS,GAAArB,EAAAY,GAAAvyB,EAAAk1B,0BAAAlC,EAAA,GAA6ChsB,GAAAgsB,EAAA,GAAA,GAAAwB,QAAAx0B,EAAAC,EAAAD,EAAAH,EAAA,QAA8B,IAAA,eAAA9E,EAAAhD,KAAA,IAAA,GAAA+H,GAAA,EAAAyR,EAAAxW,EAAA9C,SAAuD6H,EAAAyR,EAAAna,OAAW0I,GAAA,EAAA,CAAM,GAAA6P,GAAA4B,EAAAzR,EAAWkH,GAAA2I,EAAA,GAAA6kB,QAAA7kB,EAAA,GAAA1P,EAAA0P,EAAA,GAAA9P,EAAA,QAAiC,IAAA,UAAA9E,EAAAhD,KAAA,IAAA,GAAA0I,GAAA,EAAAwyB,EAAAl4B,EAAA9C,SAAkDwI,EAAAwyB,EAAA77B,OAAWqJ,GAAA,EAAA,IAAA,GAAAy2B,GAAAjE,EAAAxyB,GAAA02B,EAAA,EAAA92B,EAAA62B,EAA4BC,EAAA92B,EAAAjJ,OAAW+/B,GAAA,EAAA,CAAM,GAAA52B,GAAAF,EAAA82B,EAAWnwB,IAAAzG,GAAA,GAAAi0B,QAAAj0B,EAAAN,EAAAM,EAAAV,EAAA,MAA8B81B,aAAA/+B,UAAAqgC,iBAAA,SAAAl8B,EAAA6D,EAAA1I,GAAyD,GAAA6I,GAAAL,KAAA+3B,WAAuB,IAAA17B,IAAAgE,IAAW,IAAA,GAAAvJ,GAAAuJ,EAAAhE,GAAA8D,EAAArJ,EAAA4B,OAAA,EAA4ByH,GAAA,EAAKA,IAAA,GAAA3I,EAAA0T,KAAApU,EAAAqJ,IAAAD,EAAA,OAAA,MAA+BG,GAAAhE,KAAa,OAAAgE,GAAAhE,GAAAzB,KAAApD,IAAA,GAAuBy/B,aAAA/+B,UAAAoC,MAAA,SAAA+B,EAAA6D,GAA4C,GAAA1I,GAAAwI,IAAWA,MAAA23B,cAAoB,IAAAt3B,GAAAL,KAAA+oB,OAAA,GAAAjyB,EAAAuJ,EAAApE,OAAAkE,EAAA9D,EAAAq8B,SAAA5gC,EAAA,QAAAhB,EAAA,4BAAA,SAAAA,EAAA,oBAAAuB,EAAA,QAAAvB,EAAA,4BAAA,SAAAA,EAAA,mBAAsS,IAAtSA,EAAA,uBAAAA,EAAA,uBAAAA,EAAA,0BAAAA,EAAA,yBAAsS,CAAM,GAAAK,GAAAkF,EAAAgiB,MAAAje,EAAAS,KAAAC,IAAA3J,GAAAgK,EAAAN,KAAAE,IAAA5J,EAA0C6I,MAAA63B,gBAAAhvB,KAAA,SAAAxM,EAAA6D,GAAwG,OAAhEE,EAAA/D,EAAAs8B,OAAAp3B,EAAAJ,EAAA9E,EAAAs8B,OAAAx3B,EAAA,IAAAf,EAAAF,EAAAy4B,OAAAp3B,EAAAJ,EAAAjB,EAAAy4B,OAAAx3B,EAAA,IAAgEjB,EAAA2wB,aAAAx0B,EAAAw0B,eAA4C,IAAA,GAAAz4B,GAAA,EAAAlB,EAAAM,EAAAqgC,gBAAgCz/B,EAAAlB,EAAAwB,OAAWN,GAAA,EAAA,CAAM,GAAA8I,GAAAhK,EAAAkB,GAAAmJ,GAAcq3B,cAAA13B,EAAA23B,kBAAAC,YAAA53B,EAAA63B,iBAAgE1hC,GAAIuhC,cAAA13B,EAAA83B,kBAAAF,YAAA53B,EAAA+3B,iBAAgEx3B,IAAAP,EAAA23B,oBAAA33B,EAAA63B,iBAAAp5B,IAAAuB,EAAA83B,oBAAA93B,EAAA+3B,iBAAAz3B,EAAA1K,EAAA,mBAAA2K,EAAAT,EAAAlK,EAAA,mBAAA6I,EAAAyL,EAAA3J,EAAApF,EAAA68B,sBAAA33B,EAAAzK,EAAA,sBAAAA,EAAA,uBAAAuF,EAAA88B,SAAAhF,EAAAx0B,EAAAtD,EAAA68B,sBAAA7hC,EAAAP,EAAA,sBAAAA,EAAA,uBAAAuF,EAAA88B,QAAiU,IAAA33B,GAAAR,GAAAA,GAAAoK,EAAAA,EAAAvK,KAAAyD,IAAA6vB,EAAA/oB,IAAA5J,GAAA2yB,IAAAA,EAAAtzB,KAAAyD,IAAA6vB,EAAA/oB,IAAA+oB,EAAA/oB,EAAAvK,KAAAyD,IAAA6vB,EAAA/oB,GAAA3J,IAAApF,EAAA+8B,uBAAA73B,EAAA6J,EAAAtU,EAAA,0BAAAsU,GAAAjL,GAAA,CAA6I,GAAAmI,GAAAutB,kBAAAx1B,EAAA7I,EAAA+D,KAAA/D,EAAA8/B,aAAAhC,kBAAA,YAAAp0B,EAAAm4B,kBAAmG7hC,GAAA8hC,WAAA9hC,EAAAk5B,OAAAqG,MAAA71B,EAAAq4B,WAAAnuB,EAAA9C,EAAAxR,EAAA,qBAAAgB,EAAAuE,EAAAgiB,MAAAnd,EAAAm4B,kBAAAn4B,EAAAs4B,cAAkH,GAAA75B,IAAAtD,EAAA+8B,uBAAA/hC,EAAA88B,EAAAr9B,EAAA,0BAAAq9B,GAAAh0B,GAAA,CAAuE,GAAAk0B,GAAAwB,kBAAAx1B,EAAA7I,EAAA+D,KAAA/D,EAAA+/B,aAAAjC,kBAAA,YAAAp0B,EAAAm4B,kBAAmG7hC,GAAA8hC,WAAA9hC,EAAAk5B,OAAA/2B,KAAAuH,EAAAu4B,UAAAtF,EAAAE,EAAAv9B,EAAA,qBAAAuB,EAAAgE,EAAAgiB,MAAAnd,EAAAm4B,oBAAkGn5B,GAAAF,KAAA05B,kBAAAr9B,IAA6B46B,aAAA/+B,UAAAohC,WAAA,SAAAj9B,EAAA6D,EAAA1I,EAAA6I,EAAAvJ,EAAAqJ,EAAArI,EAAAO,EAAAtB,GAA+D,IAAA,GAAAI,GAAAkF,EAAAyyB,aAAA1uB,EAAA/D,EAAAuyB,kBAAAztB,EAAAnB,KAAAzE,KAAAnD,EAAAyI,KAAAyD,IAAAzD,KAAAkL,IAAAvU,GAAAqJ,KAAAwQ,IAAAlQ,EAAA,GAAAjK,EAAA,EAAAgK,EAAAhB,EAAwGhJ,EAAAgK,EAAAxI,OAAWxB,GAAA,EAAA,CAAM,GAAAqK,GAAAL,EAAAhK,GAAAG,GAAAkK,EAAAo4B,YAAA7hC,EAAA+I,KAAAgG,KAAA,EAAAhG,KAAAgG,GAAmD,IAAA9P,EAAA4/B,YAAAuB,UAA2B,GAAA/3B,GAAAoB,EAAAq4B,cAAAjD,YAAAuB,UAA4C,GAAAphC,GAAAqJ,GAAA9I,GAAA,EAAAwJ,KAAAgG,GAAA,GAAAxP,EAAA,EAAAwJ,KAAAgG,GAAA,EAAA,aAAgD,IAAA/P,GAAAqJ,GAAA9I,GAAA,EAAAwJ,KAAAgG,GAAA,GAAAxP,EAAA,EAAAwJ,KAAAgG,GAAA,EAAA,aAAqD,IAAA/P,GAAAqJ,IAAA9I,GAAAwJ,KAAAgG,GAAA,GAAAxP,EAAA,EAAAwJ,KAAAgG,GAAA,GAAA,QAAqD,IAAApF,GAAAF,EAAAs4B,GAAAl6B,EAAA4B,EAAAu4B,GAAAt4B,EAAAD,EAAAw4B,GAAA/4B,EAAAO,EAAAy4B,GAAA5uB,EAAA7J,EAAA04B,IAAA9F,EAAA5yB,EAAA24B,YAAA5xB,EAAAzH,KAAAyD,IAAAnD,EAAAN,KAAAkL,IAAAxK,EAAA43B,UAAAt4B,KAAAwQ,IAAAjZ,GAAAi8B,EAAAxzB,KAAAgK,IAAA1J,EAAAN,KAAAkL,IAAAxK,EAAAm3B,UAAA73B,KAAAwQ,IAAA,GAAqJ,MAAAgjB,GAAA/rB,GAAA,CAAYA,IAAAlQ,IAAAkQ,EAAA,EAAa,IAAArH,GAAAJ,KAAAyO,MAAA/N,EAAA44B,YAAA,EAAAt5B,KAAAgG,IAAA,KAAAitB,EAAAz3B,EAAAqzB,eAAA,GAAAruB,EAAAyyB,EAAAvF,YAAsFqE,WAAAxyB,EAAA+zB,EAAA5yB,EAAA4yB,EAAAhzB,EAAAM,EAAAF,EAAAE,EAAAN,EAAAiK,EAAA7J,EAAA6J,EAAAjK,EAAAd,EAAAiI,EAAA+rB,EAAAj8B,EAAA6I,GAAA2xB,UAAAxyB,EAAA+zB,EAAA5yB,EAAA4yB,EAAAhzB,EAAAxB,EAAA4B,EAAA5B,EAAAwB,EAAAiK,EAAA7J,EAAA6J,EAAAhK,EAAAgK,EAAAjK,EAAAd,EAAAiI,EAAA+rB,EAAAj8B,EAAA6I,GAAA2xB,UAAAxyB,EAAA+zB,EAAA5yB,EAAA4yB,EAAAhzB,EAAAK,EAAAD,EAAAC,EAAAL,EAAAiK,EAAA7J,EAAA6J,EAAAjK,EAAAiK,EAAAlK,EAAAb,EAAAiI,EAAA+rB,EAAAj8B,EAAA6I,GAAA2xB,UAAAxyB,EAAA+zB,EAAA5yB,EAAA4yB,EAAAhzB,EAAAH,EAAAO,EAAAP,EAAAG,EAAAiK,EAAA7J,EAAA6J,EAAAhK,EAAAgK,EAAAjK,EAAAiK,EAAAlK,EAAAb,EAAAiI,EAAA+rB,EAAAj8B,EAAA6I,GAAA9J,EAAAs6B,YAAApwB,EAAAA,EAAA,EAAAA,EAAA,GAAAlK,EAAAs6B,YAAApwB,EAAA,EAAAA,EAAA,EAAAA,EAAA,GAAAyyB,EAAAvF,cAAA,EAAAuF,EAAAtF,iBAAA,GAAwSnyB,EAAAwzB,oBAAAx3B,IAAyB4+B,aAAA/+B,UAAAwhC,kBAAA,SAAAr9B,GAAsD,IAAA,GAAA6D,GAAAF,KAAAxI,EAAAwI,KAAA0wB,OAAAsG,aAAA32B,EAAA7I,EAAAo3B,kBAAA93B,EAAAU,EAAAs3B,aAAA3uB,GAAA9D,EAAAgiB,MAAAvmB,EAAAuE,EAAA+9B,SAAA/hC,EAAA,EAAAtB,EAAAmJ,EAAA23B,gBAAiIx/B,EAAAtB,EAAA2B,OAAWL,GAAA,EAAA,CAAM,GAAAlB,GAAAJ,EAAAsB,EAAWlB,GAAAkjC,sBAAwBzB,cAAAzhC,EAAA0hC,kBAAAC,YAAA3hC,EAAA4hC,iBAAgE5hC,EAAAmjC,sBAAyB1B,cAAAzhC,EAAA6hC,kBAAAF,YAAA3hC,EAAA8hC,gBAAiE,KAAA,GAAA74B,GAAA,EAAYA,EAAA,EAAIA,IAAA,CAAK,GAAAe,GAAAhK,EAAA,IAAAiJ,EAAA,uBAAA,uBAA6D,IAAAe,EAAA,IAAA,GAAA/I,GAAA+I,EAAAy3B,cAA+BxgC,EAAA+I,EAAA23B,YAAgB1gC,IAAA,CAAK,GAAAlB,GAAAgJ,EAAAg3B,kBAAAr/B,IAAAO,GAAA8I,EAAAhK,EAAAgjC,YAAA34B,EAAA,GAAA4b,OAAAjmB,EAAAqjC,GAAArjC,EAAAsjC,GAAA1iC,GAAA6lB,QAAAxd,GAAA9I,EAAA,GAAA8lB,OAAAjmB,EAAAujC,GAAAvjC,EAAAsjC,GAAA1iC,GAAA6lB,QAAAxd,GAAAsB,EAAA,GAAA0b,OAAAjmB,EAAAqjC,GAAArjC,EAAAwjC,GAAA5iC,GAAA6lB,QAAAxd,GAAAR,EAAA,GAAAwd,OAAAjmB,EAAAujC,GAAAvjC,EAAAwjC,GAAA5iC,GAAA6lB,QAAAxd,GAAAqB,EAAAX,KAAAyD,IAAA,EAAAzD,KAAAgK,IAAA,GAAA3K,EAAA3E,KAAAsF,KAAAkL,IAAA7U,EAAAwhC,UAAA73B,KAAAwQ,MAAArQ,EAAAH,KAAAyD,IAAA,EAAAzD,KAAAgK,IAAA,GAAA3K,EAAA3E,KAAAsF,KAAAkL,IAAA7U,EAAAyjC,gBAAA95B,KAAAwQ,MAAAjG,EAAA5T,EAAAk4B,eAAA,GAAAyE,EAAA/oB,EAAAmjB,YAA8WsG,uBAAAx0B,EAAAa,EAAAK,EAAAC,EAAAR,GAAA6zB,sBAAAx0B,EAAAa,EAAA7J,EAAAmK,EAAAR,GAAA6zB,sBAAAx0B,EAAAa,EAAAvB,EAAA6B,EAAAR,GAAA6zB,sBAAAx0B,EAAAa,EAAAO,EAAAD,EAAAR,GAAAlK,EAAA26B,YAAA0C,EAAAA,EAAA,GAAAr9B,EAAA26B,YAAA0C,EAAA,EAAAA,EAAA,GAAAr9B,EAAA26B,YAAA0C,EAAA,EAAAA,EAAA,GAAAr9B,EAAA26B,YAAA0C,EAAA,EAAAA,GAAA/oB,EAAAmjB,cAAA,EAAAnjB,EAAAojB,iBAAA,MAAsQyI,aAAA/+B,UAAAogC,kBAAA,SAAAj8B,EAAA6D,EAAA1I,EAAA6I,EAAAvJ,EAAAqJ,EAAArI,EAAAO,EAAAtB,EAAAI,EAAAiJ,EAAAe,EAAA/I,EAAAlB,EAAAgK,EAAAK,EAAAlK,EAAAoK,GAAwF,GAAA9B,GAAA6B,EAAAR,KAAAoK,IAAkB,KAAA,GAAA+oB,KAAA38B,GAAA,CAAgB,GAAA8Q,GAAAsyB,SAAAzG,EAAA,GAAqB38B,GAAA8Q,KAAA8C,EAAAA,EAAAnH,OAAA9D,EAAAy2B,cAAAv6B,EAAA7E,EAAA8Q,GAAAlI,EAAAF,EAAApJ,EAAAsB,EAAAf,EAAAoK,OAAA9B,EAAA,GAAA42B,kBAAAz+B,EAAAoI,EAAA7D,EAAAhE,EAAAtB,EAAAI,EAAAK,EAAA8Q,GAAAlI,EAAAe,EAAA/I,GAAA,IAA6G,GAAAi8B,GAAA10B,EAAAA,EAAAi5B,cAAA54B,KAAAk3B,kBAAAx+B,OAAAuI,EAAAtB,EAAAA,EAAAm5B,YAAA94B,KAAAk3B,kBAAAx+B,MAAsG2H,KAAAW,EAAAb,EAAA02B,aAAAx6B,EAAAgE,EAAAnJ,EAAAgJ,EAAApJ,EAAAyK,EAAA/J,EAAAm/B,YAAAsB,YAAA5gC,EAAAoK,MAAAD,EAAA,GAAA+0B,kBAAAz+B,EAAAoI,EAAA7D,EAAAhE,EAAAtB,EAAAI,EAAAkJ,EAAAnJ,EAAAgK,EAAAK,GAAA,GAAmH,IAAAuyB,GAAAtyB,EAAAA,EAAAo3B,cAAA54B,KAAAk3B,kBAAAx+B,OAAA2I,EAAAG,EAAAA,EAAAs3B,YAAA94B,KAAAk3B,kBAAAx+B,MAAsGuI,GAAAg2B,aAAA4D,eAAAvK,KAAA8H,SAAA,qGAAA/2B,EAAA41B,aAAA4D,eAAAvK,KAAA8H,SAAA,mGAAiS,IAAA9pB,IAAA9W,EAAAm/B,YAAAuB,UAAAvB,YAAAuB,SAAA,IAAA1gC,EAAAm/B,YAAAsB,YAAAtB,YAAAsB,WAAA,EAA4Gj4B,MAAA63B,gBAAAj9B,MAA2Bi+B,kBAAAxE,EAAA0E,gBAAA93B,EAAA+3B,kBAAAlF,EAAAmF,gBAAA53B,EAAAk4B,WAAAnuB,EAAAquB,UAAAz4B,EAAA23B,OAAAt8B,EAAAw0B,aAAAx4B,EAAAghC,kBAAA53B,EAAA+3B,aAAAlrB,KAAkK2oB,aAAA6D,kBAAAhE,iBAAAG,aAAA4D,cAAA,MAAAhkC,OAAAD,QAAAqgC,eACztf8D,iCAAA,GAAAC,sBAAA,IAAAC,yBAAA,IAAAC,iCAAA,IAAAC,2BAAA,IAAAC,0BAAA,IAAAC,qBAAA,IAAAC,uBAAA,IAAAC,8BAAA,IAAA7I,4BAAA,IAAA8I,0CAAA,IAAAC,8BAAA,IAAAC,mBAAA,IAAAC,kBAAA,IAAAC,iBAAA,GAAAC,kBAAA,GAAA1J,wBAAA,GAAAC,YAAA,GAAAC,mBAAA,GAAAvI,iBAAA,GAAA6B,cAAA,KAA8jBmQ,IAAA,SAAAp7B,QAAA7J,OAAAD,SACjkB,YAAa,IAAAmlC,gBAAmBC,KAAA,OAAAC,MAAA,gBAAAC,MAAA,QAAAC,OAAA,kBAAwErlB,OAAA,SAAA5W,EAAA7D,EAAA8D,GAAwBH,KAAA8P,YAAA5P,EAAA4P,YAAA9P,KAAAtH,OAAAwH,EAAAxH,OAAAsH,KAAAo8B,WAAA//B,EAAAggC,QAAAr8B,KAAAs8B,SAAAjgC,EAAAyzB,gBAAA9vB,KAAA3G,KAAA8G,EAAAH,KAAAu8B,UAAAlgC,EAA4Iya,QAAA0lB,gBAAA,SAAAt8B,EAAA7D,GAAqC,MAAA,IAAAya,QAAA5W,EAAA+tB,YAAA/tB,EAAAijB,YAAA8K,YAAA5xB,IAA6Dya,OAAA5e,UAAAic,KAAA,SAAAjU,GAAmC,GAAA7D,GAAA6D,EAAAF,KAAA3G,KAAmB2G,MAAAqN,OAAAnN,EAAAu8B,WAAApgC,EAAA2D,KAAAqN,SAAArN,KAAA08B,GAAAx8B,EAAAF,KAAAqN,OAAAnN,EAAAy8B,eAAAz8B,EAAAu8B,WAAApgC,EAAA2D,KAAAqN,QAAAnN,EAAA08B,WAAAvgC,EAAA2D,KAAA8P,YAAA5P,EAAA28B,aAAA78B,KAAA8P,YAAA,OAAkLgH,OAAA5e,UAAA4kC,iBAAA,SAAA58B,EAAA7D,GAAiD,IAAA,GAAA8D,GAAAH,KAAAL,EAAA,EAAmBA,EAAAK,KAAAo8B,WAAA1jC,OAAyBiH,IAAA,CAAK,GAAAS,GAAA/D,EAAA8D,EAAAi8B,WAAAz8B,GAAArI,UAAkC,KAAA8I,GAAAF,EAAA68B,wBAAA38B,KAA0C0W,OAAA5e,UAAA8kC,wBAAA,SAAA98B,EAAA7D,EAAA8D,GAA0D,IAAA,GAAAR,GAAAK,KAAAlJ,EAAA,EAAmBA,EAAAkJ,KAAAo8B,WAAA1jC,OAAyB5B,IAAA,CAAK,GAAAsJ,GAAAT,EAAAy8B,WAAAtlC,GAAAuB,EAAAgE,EAAA+D,EAAA9I,UAAkC,KAAAe,GAAA6H,EAAA+8B,oBAAA5kC,EAAA+H,EAAAyxB,WAAA3xB,EAAA67B,cAAA37B,EAAA/G,QAAA,EAAAsG,EAAA48B,UAAAzM,gBAAA1vB,EAAA88B,QAAAv9B,EAAA48B,UAAAzM,gBAAA3vB,GAAA,MAAuJ2W,OAAA5e,UAAAoiB,QAAA,WAAqCta,KAAAqN,QAAArN,KAAA08B,GAAAS,aAAAn9B,KAAAqN,SAA+CyJ,OAAAsmB,YAAoBC,OAAA,eAAAC,QAAA,wBAAqDzmC,OAAAD,QAAAkgB,YACjsCymB,IAAA,SAAA78B,QAAA7J,OAAAD,SACJ,YAAa,IAAA05B,MAAA5vB,QAAA,gBAAAoW,OAAApW,QAAA,YAAAwtB,qBAAAxtB,QAAA,2BAAAytB,sBAAAztB,QAAA,uBAAA88B,kBAAA98B,QAAA,iCAAA2vB,YAAA,SAAAh0B,EAAA8D,EAAAD,EAAAG,GAAkQ,GAAAV,GAAAK,KAAAI,EAAA+tB,sBAAA9xB,EAAAsyB,iBAAuD3uB,MAAAy9B,mBAAA,GAAA3mB,QAAAzW,EAAAuuB,kBAAAxuB,EAAA6tB,YAAAnX,OAAAsmB,WAAAC,QAAAh9B,EAAAyuB,eAAA9uB,KAAA09B,cAAA,GAAA5mB,QAAAzW,EAAAyuB,aAAAzyB,EAAAwyB,iBAAAZ,YAAAnX,OAAAsmB,WAAAE,UAAAj9B,EAAA2uB,gBAAAhvB,KAAA29B,eAAA,GAAA7mB,QAAAzW,EAAA2uB,cAAA3yB,EAAA0yB,kBAAAd,YAAAnX,OAAAsmB,WAAAE,UAAAt9B,KAAAivB,YAAuW,KAAA,GAAAn3B,GAAA,EAAAhB,EAAAqJ,EAAgBrI,EAAAhB,EAAA4B,OAAWZ,GAAA,EAAA,CAAM,GAAAO,GAAAvB,EAAAgB,GAAAN,EAAA6I,EAAA4vB,mBAAA5vB,EAAA4vB,kBAAA53B,EAAAe,IAAA+H,EAAA+sB,qBAAAgB,cAAA7yB,EAAA8yB,oBAAA92B,EAAA6H,GAAAnJ,EAAAS,EAAA,GAAAsf,QAAAtf,EAAAooB,MAAApoB,EAAA6B,KAAAyd,OAAAsmB,WAAAC,QAAA,IAAyL19B,GAAAsvB,UAAA52B,EAAAe,KAAmBg2B,qBAAAjuB,EAAAy8B,kBAAA7mC,GAA4CiJ,KAAAwvB,SAAAnvB,EAAAmvB,SAAAxvB,KAAAyvB,UAAApvB,EAAAovB,SAAoD,KAAA,GAAAv4B,GAAA,EAAAm9B,GAAA10B,EAAA6vB,SAAA7vB,EAAA8vB,WAAuCv4B,EAAAm9B,EAAA37B,OAAWxB,GAAA,EAAA,IAAA,GAAAkB,GAAAi8B,EAAAn9B,GAAAuK,EAAA,EAAAT,EAAA5I,MAAgCqJ,EAAAT,EAAAtI,OAAW+I,GAAA,EAAMT,EAAAS,GAAWo8B,KAAAvN,KAAAS,UAAApxB,EAAAsvB,UAAA,WAA6C,MAAA,IAAAuO,qBAAiCnN,aAAAn4B,UAAAoiB,QAAA,WAAyC,GAAAje,GAAA2D,IAAWA,MAAAy9B,mBAAAnjB,UAAAta,KAAA09B,eAAA19B,KAAA09B,cAAApjB,UAAAta,KAAA29B,gBAAA39B,KAAA29B,eAAArjB,SAAsI,KAAA,GAAAna,KAAA9D,GAAA4yB,UAAA,CAA0B,GAAA/uB,GAAA7D,EAAA4yB,UAAA9uB,GAAAy9B,iBAAuC19B,IAAAA,EAAAoa,UAAe,IAAA,GAAAja,GAAA,EAAAV,GAAAtD,EAAAmzB,SAAAnzB,EAAAozB,WAAuCpvB,EAAAV,EAAAjH,OAAW2H,GAAA,EAAA,IAAA,GAAAD,GAAAT,EAAAU,GAAAvI,EAAA,EAAAhB,EAAAsJ,MAAgCtI,EAAAhB,EAAA4B,OAAWZ,GAAA,EAAA,CAAM,GAAAO,GAAAvB,EAAAgB,EAAW,KAAA,GAAAN,KAAAa,GAAAwlC,KAAAxlC,EAAAwlC,KAAArmC,GAAA8iB,YAAyCzjB,OAAAD,QAAAy5B,cACplDyN,gCAAA,GAAA1M,eAAA,IAAAnU,WAAA,GAAAiT,0BAAA,GAAAC,sBAAA,KAA0H4N,IAAA,SAAAr9B,QAAA7J,OAAAD,SAC7H,YAAa,SAAA86B,wBAAAr1B,GAAmC,MAAA2hC,wBAA8B3B,UAAUhjC,KAAA,SAAA/B,KAAA,WAAAu6B,WAAAx1B,GAAA,MAAkD,GAAA2hC,uBAAAt9B,QAAA,uBAA0D7J,QAAAD,QAAA86B,yBACjMuM,uBAAA,MAA2BC,IAAA,SAAAx9B,QAAA7J,OAAAD,SAC9B,YAAaC,QAAAD,QAAA,UACTunC,IAAA,SAAAz9B,QAAA7J,OAAAD,SACJ,YAAa,SAAAwnC,mBAAA/hC,GAA8B,MAAAwE,MAAA2R,KAAAnW,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAAsC,QAAAgiC,0BAAAhiC,EAAA6D,GAAuC,MAAAA,GAAA7D,EAAW,QAAAiiC,cAAAjiC,EAAA6D,GAA2B,MAAAA,GAAA,EAAAA,EAAA,EAAA7D,EAAAA,EAAmB,QAAAwG,WAAAxG,EAAA6D,EAAAC,EAAArJ,EAAAuJ,GAA8B,IAAAH,EAAA,KAAAA,EAAA,GAAA,MAAA7D,EAAyB6D,GAAAid,MAAA3R,QAAAtL,GAAA,aAAAC,GAAAD,EAAAyd,SAAA7mB,EAAiD,KAAA,GAAAgB,MAAAO,EAAA,EAAiBA,EAAAgE,EAAA3D,OAAWL,IAAA,CAAK,IAAA,GAAAb,GAAA6E,EAAAhE,GAAAtB,KAAAqJ,EAAA,EAAwBA,EAAA5I,EAAAkB,OAAW0H,IAAArJ,EAAA6D,KAAApD,EAAA4I,GAAAkd,IAAApd,EAAAud,MAAApd,IAAiCvI,GAAA8C,KAAA7D,GAAU,MAAAe,GAAS,QAAAymC,YAAAliC,EAAA6D,GAAyB,IAAA,GAAAC,MAAArJ,EAAA,GAAAqmB,OAAA,EAAA,GAAA9c,EAAA,EAAkCA,EAAAhE,EAAA3D,OAAW2H,IAAA,CAAK,IAAA,GAAAvI,GAAAuE,EAAAgE,GAAAhI,KAAAb,EAAA,EAAwBA,EAAAM,EAAAY,OAAWlB,IAAA,CAAK,GAAAT,GAAAe,EAAAN,EAAA,GAAA4I,EAAAtI,EAAAN,GAAAL,EAAAW,EAAAN,EAAA,GAAA2J,EAAA,IAAA3J,EAAAV,EAAAsJ,EAAAkd,IAAAvmB,GAAAgnB,QAAAE,QAAAte,EAAAnI,IAAAM,EAAAY,OAAA,EAAA5B,EAAAK,EAAAmmB,IAAAld,GAAA2d,QAAAE,QAAA/c,EAAAC,EAAAkc,KAAA1d,GAAAoe,QAAA1mB,EAAA6J,EAAAK,EAAA5B,EAAA4B,EAAAL,EAAAC,EAAAxB,EAAAwB,CAAkJD,GAAAuc,MAAA,EAAApmB,GAAAgB,EAAAuC,KAAAsG,EAAAuc,MAAAvd,GAAAmd,KAAAjd,IAAwCD,EAAAvF,KAAAvC,GAAU,MAAA8H,GAAS,GAAAgd,OAAAzc,QAAA,kBAAAipB,aAAAjpB,QAAA,mBAAAixB,OAAAjxB,QAAA,YAAA89B,cAAA99B,QAAA,gCAAAs9B,sBAAAt9B,QAAA,wBAAA+9B,KAAA/9B,QAAA,cAAAg+B,gBAAAh+B,QAAA,4BAAAi+B,GAAAj+B,QAAA,eAAAk+B,SAAAl+B,QAAA,OAAAm+B,eAAAn+B,QAAA,iCAAAo+B,gBAAAp+B,QAAA,gBAAAo+B,gBAAAC,aAAAr+B,QAAA,8BAAAs+B,yCAAAD,aAAAC,yCAAAC,mCAAAF,aAAAE,mCAAAC,wCAAAH,aAAAG,wCAAAC,kBAAAnB,uBAA+yB3B,UAAUhjC,KAAA,SAAA/B,KAAA,iBAAoC+B,KAAA,SAAA/B,KAAA,qBAAwC+B,KAAA,SAAA/B,KAAA,kBAAmC8nC,aAAA,SAAA/iC,EAAA6D,EAAAC,GAA+B,GAAA9D,EAAAgjC,KAAA,CAAW,GAAAvoC,GAAAuF,EAAAgE,EAAAH,CAAY7D,GAAAvF,EAAAwoC,MAAAp/B,EAAApJ,EAAA05B,YAAAxwB,KAAAq/B,KAAA,GAAAZ,MAAA3nC,EAAAuoC,MAAAr/B,KAAAu/B,kBAAA,GAAAJ,mBAAAroC,EAAAyoC,mBAAAv/B,KAAAw/B,YAAAn/B,EAAAL,KAAAy/B,eAAA3oC,EAAA2oC,eAAAz/B,KAAAsvB,wBAAAx4B,EAAAw4B,4BAAsOtvB,MAAAq/B,KAAA,GAAAZ,MAAA9M,OAAA,GAAA,GAAA3xB,KAAAu/B,kBAAA,GAAAJ,kBAAkFn/B,MAAAs/B,MAAAjjC,EAAA2D,KAAAwwB,YAAAtwB,EAAAF,KAAAuB,EAAAlF,EAAAkF,EAAAvB,KAAAmB,EAAA9E,EAAA8E,EAAAnB,KAAAsI,EAAAjM,EAAAiM,EAAAzH,KAAAkL,IAAA7L,GAAAW,KAAAwQ,IAAArR,KAAA0/B,iBAAAv/B,GAAgHi/B,cAAAlnC,UAAAkY,OAAA,SAAA/T,EAAA6D,GAA4C,GAAAC,GAAAH,KAAAlJ,EAAAkJ,KAAAu/B,kBAAA7mC,MAA2CsH,MAAAu/B,kBAAA9N,YAAAp1B,EAAAo0B,MAAAp0B,EAAAq7B,iBAAAx3B,EAAiE,KAAA,GAAAG,GAAAspB,aAAAttB,GAAAvE,EAAA,EAA8BA,EAAAuI,EAAA3H,OAAWZ,IAAA,CAAK,IAAA,GAAAO,GAAAgI,EAAAvI,GAAAN,GAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAAT,EAAA,EAA6CA,EAAAsB,EAAAK,OAAW3B,IAAA,CAAK,GAAAqJ,GAAA/H,EAAAtB,EAAWS,GAAA,GAAAqJ,KAAAgK,IAAArT,EAAA,GAAA4I,EAAAmB,GAAA/J,EAAA,GAAAqJ,KAAAgK,IAAArT,EAAA,GAAA4I,EAAAe,GAAA3J,EAAA,GAAAqJ,KAAAyD,IAAA9M,EAAA,GAAA4I,EAAAmB,GAAA/J,EAAA,GAAAqJ,KAAAyD,IAAA9M,EAAA,GAAA4I,EAAAe,GAAgGhB,EAAAk/B,KAAAjvB,OAAAtZ,EAAAU,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,MAAsC4nC,aAAAlnC,UAAAwnC,iBAAA,SAAArjC,GAAqD2D,KAAA2/B,cAAAtjC,GAAqB+iC,aAAAlnC,UAAA+1B,UAAA,SAAA5xB,GAA8C,GAAA6D,GAAAF,KAAAq/B,KAAAxuB,eAAgC,OAAAxU,IAAAA,EAAAzB,KAAAsF,IAAqBo/B,MAAAt/B,KAAAs/B,MAAA9O,YAAAxwB,KAAAwwB,YAAA6O,KAAAn/B,EAAAq/B,kBAAAv/B,KAAAu/B,kBAAAtR,UAAA5xB,GAAAojC,eAAAz/B,KAAAy/B,eAAAnQ,wBAAAtvB,KAAAsvB,0BAAoM8P,aAAAlnC,UAAAuY,MAAA,SAAApU,EAAA6D,GAA4C,GAAAC,GAAAH,IAAWA,MAAA4/B,WAAA5/B,KAAA4/B,SAAA,GAAAjB,IAAAnW,WAAA,GAAAoW,UAAA5+B,KAAAw/B,cAAAzW,OAAA/oB,KAAA6/B,iBAAA,GAAAnB,iBAAA1+B,KAAA4/B,SAAAnoC,OAAAyY,KAAAlQ,KAAA4/B,UAAA/2B,QAAA,sBAAyM,IAAA/R,MAAQuJ,EAAAhE,EAAAyjC,WAAehoC,EAAA65B,OAAAt1B,EAAA0jC,SAAA1jC,EAAAmG,MAAAnK,EAAAmmC,cAAAn+B,EAAAqT,QAAAlc,EAAA,CAA2D,KAAA,GAAAT,KAAAmJ,GAAA,GAAAC,EAAA6/B,SAAAjpC,GAAA,CAAiC,GAAAqJ,GAAAF,EAAAnJ,GAAAI,EAAA,CAAe,IAAA,SAAAiJ,EAAA/G,KAAA,CAAoB,GAAA8H,GAAAm9B,aAAAn+B,EAAA8/B,cAAA,aAAA7/B,GAAAD,EAAA8/B,cAAA,iBAAA7/B,IAAAT,EAAAQ,EAAA8/B,cAAA,cAAA7/B,GAAAc,EAAAf,EAAA8/B,cAAA,iBAAA7/B,EAAiKjJ,GAAAgK,EAAA,EAAAN,KAAAsF,IAAAxG,GAAAy+B,kBAAAl9B,OAAuC,SAAAd,EAAA/G,KAAAlC,EAAAinC,kBAAAj+B,EAAA8/B,cAAA,iBAAA7/B,IAAA,mBAAAA,EAAA/G,KAAAlC,EAAAinC,kBAAAj+B,EAAA8/B,cAAA,2BAAA7/B,IAAA,WAAAA,EAAA/G,OAAAlC,EAAAgJ,EAAA8/B,cAAA,gBAAA7/B,GAAAg+B,kBAAAj+B,EAAA8/B,cAAA,mBAAA7/B,IAA6R5I,GAAAqJ,KAAAyD,IAAA9M,EAAAL,EAAAW,GAAkB,IAAA,GAAAT,GAAAgF,EAAA6jC,cAAAjlC,IAAA,SAAAoB,GAA0C,MAAAA,GAAApB,IAAA,SAAAoB,GAAyB,MAAA,IAAA8gB,OAAA9gB,EAAAkF,EAAAlF,EAAA8E,OAA4BM,EAAA,EAAA,EAAArJ,EAAA,EAAA,EAAA4I,GAAA,EAAA,EAAAO,GAAA,EAAA,EAAA+yB,EAAA,EAAoCA,EAAAj9B,EAAAqB,OAAW47B,IAAA,IAAA,GAAAH,GAAA98B,EAAAi9B,GAAAp9B,EAAA,EAAuBA,EAAAi9B,EAAAz7B,OAAWxB,IAAA,CAAK,GAAA48B,GAAAK,EAAAj9B,EAAWuK,GAAAZ,KAAAgK,IAAApJ,EAAAqyB,EAAAvyB,GAAAnJ,EAAAyI,KAAAgK,IAAAzS,EAAA07B,EAAA3yB,GAAAH,EAAAH,KAAAyD,IAAAtD,EAAA8yB,EAAAvyB,GAAAA,EAAAV,KAAAyD,IAAA/C,EAAAuyB,EAAA3yB,GAAwE,GAAAF,GAAAjB,KAAAq/B,KAAA5uB,MAAAhP,EAAAjK,EAAAY,EAAAZ,EAAAwJ,EAAAxJ,EAAA+J,EAAA/J,EAAuCyJ,GAAA4H,KAAAw1B,0BAAAr+B,KAAAmgC,eAAArpC,EAAAmK,EAAAjB,KAAAu/B,kBAAAloC,EAAAgB,EAAAgI,EAAA0oB,OAAA7oB,EAAA7D,EAAA+jC,QAAAtoC,EAA4G,IAAA0J,GAAAxB,KAAA2/B,cAAAU,qBAAAhpC,EAAAgF,EAAAmG,MAAyD,OAAAhB,GAAAqH,OAAA7I,KAAAmgC,eAAArpC,EAAA0K,EAAAxB,KAAA2/B,cAAAzI,kBAAA7/B,EAAAgB,EAAAgI,EAAA0oB,OAAA7oB,EAAA7D,EAAA+jC,QAAAtoC,GAAAhB,GAA2GsoC,aAAAlnC,UAAAioC,eAAA,SAAA9jC,EAAA6D,EAAAC,EAAArJ,EAAAuJ,EAAAvI,EAAAO,EAAAb,EAAAT,GAAmE,IAAA,GAAAqJ,GAAAjJ,EAAA6I,KAAAmB,EAAA,EAAqBA,EAAAjB,EAAAxH,OAAWyI,IAAA,CAAK,GAAAxB,GAAAO,EAAAiB,EAAW,IAAAxB,IAAAS,EAAA,CAAUA,EAAAT,CAAI,IAAAuB,GAAAf,EAAAtI,IAAA8H,GAAAtI,EAAAF,EAAAsoC,eAAAv+B,EAAAo/B,YAAiD,KAAAxoC,GAAAgnC,gBAAAhnC,EAAAT,GAAA,CAA6B,GAAAoK,GAAAtK,EAAA0oC,iBAAAU,OAAAr/B,EAAAw2B,kBAAA12B,EAAA7J,EAAAyoC,SAAAn+B,GAAAvE,QAAAgE,EAAA2vB,aAAgG,IAAAxwB,EAAAW,GAAA,IAAA,GAAAO,GAAA,KAAA+yB,EAAA,EAA2BA,EAAAj9B,EAAAqB,OAAW47B,IAAA,CAAK,GAAAH,GAAA98B,EAAAi9B,EAAW,MAAAx8B,GAAAA,EAAA8b,QAAAugB,GAAA,GAAA,CAAyB,GAAAj9B,GAAAmB,EAAA87B,EAAW,IAAAj9B,EAAA,CAAM,GAAA48B,OAAA,EAAa,IAAA,WAAA58B,EAAAmC,KAAA,GAAAkI,IAAAA,EAAAooB,aAAA3oB,IAAA,SAAA9J,EAAAmC,KAAA,CAAgEy6B,EAAAjxB,UAAA/L,EAAAK,EAAA8oC,cAAA,iBAAA/oC,EAAA8J,GAAA7J,EAAA8oC,cAAA,wBAAA/oC,EAAA8J,GAAAxJ,EAAAT,EAAsG,IAAAkK,GAAAlK,EAAA,EAAAunC,aAAAnnC,EAAA8oC,cAAA,aAAA/oC,EAAA8J,GAAA7J,EAAA8oC,cAAA,iBAAA/oC,EAAA8J,IAAAQ,EAAArK,EAAA8oC,cAAA,cAAA/oC,EAAA8J,EAAqI,IAAAQ,IAAAD,EAAAg9B,WAAAh9B,EAAAC,EAAAzK,KAAAmoC,wCAAApL,EAAAvyB,EAAAN,GAAA,aAAqF,IAAA,SAAA/J,EAAAmC,MAAA,mBAAAnC,EAAAmC,KAAA,CAAoD,GAAA66B,GAAAh9B,EAAAmC,IAAa,IAAAy6B,EAAAjxB,UAAA/L,EAAAK,EAAA8oC,cAAA/L,EAAA,aAAAh9B,EAAA8J,GAAA7J,EAAA8oC,cAAA/L,EAAA,oBAAAh9B,EAAA8J,GAAAxJ,EAAAT,IAAAkoC,mCAAAnL,EAAAvyB,GAAA,aAAuJ,IAAA,WAAArK,EAAAmC,KAAA,CAA2By6B,EAAAjxB,UAAA/L,EAAAK,EAAA8oC,cAAA,mBAAA/oC,EAAA8J,GAAA7J,EAAA8oC,cAAA,0BAAA/oC,EAAA8J,GAAAxJ,EAAAT,EAA0G,IAAAqK,GAAAjK,EAAA8oC,cAAA,gBAAA/oC,EAAA8J,GAAAjK,CAA6C,KAAAioC,yCAAAlL,EAAAvyB,EAAAH,GAAA,SAA6D,GAAAE,GAAA,GAAAu9B,gBAAA79B,EAAA7J,EAAAmR,EAAAnR,EAAAoK,EAAApK,EAAAgK,EAAwCG,GAAA9E,MAAAtF,EAAA+2B,WAAsB,IAAAwE,GAAAp2B,EAAA83B,OAAW,KAAA1B,IAAAA,EAAAp2B,EAAA83B,OAAA1B,EAAA73B,KAAA0G,UAAwC89B,aAAAlnC,UAAA8nC,SAAA,SAAA3jC,GAA6C,GAAA6D,GAAAF,IAAW,KAAA,GAAAG,KAAAD,GAAAu/B,eAAA,IAAA,GAAA3oC,GAAA,EAAAuJ,EAAAH,EAAAu/B,eAAAt/B,GAAgErJ,EAAAuJ,EAAA3H,OAAW5B,GAAA,EAAiB,GAAAuF,IAAXgE,EAAAvJ,GAAW,OAAA,CAAkB,QAAA,GAASsoC,aAAAlnC,UAAA+nC,cAAA,SAAA5jC,EAAA6D,EAAAC,GAA6F,GAAvCD,EAAAsgC,4BAAAnkC,IAAuC8D,EAAA,CAAS,GAAAE,GAAAF,EAAAA,EAAA1G,aAAwB,OAAAyG,GAAA+/B,cAAA5jC,GAA0Bd,KAAAyE,KAAAsI,GAAYjI,GAAI,MAAAL,MAAAsvB,wBAAApvB,EAAA9G,IAAAiD,GAAAiI,KAAiDzN,OAAAD,QAAAwoC,eACjgMqB,+BAAA,IAAAC,2BAAA,IAAAC,6BAAA,IAAA1C,uBAAA,IAAA7M,eAAA,IAAAwP,gCAAA,IAAAC,WAAA,GAAAC,kBAAA,GAAAC,aAAA,GAAAxV,IAAA,GAAAzB,iBAAA,GAAA6B,cAAA,KAAsRqV,IAAA,SAAAtgC,QAAA7J,OAAAD,SACzR,YAAa,SAAAqqC,cAAA5kC,GAAyB,OAAOwO,KAAA,EAAAhK,KAAA+F,IAAA,EAAAvK,EAAA,GAAAiI,IAAAzD,KAAA+F,IAAA,EAAAvK,EAAA,GAAA,GAA8C,GAAAi0B,MAAA5vB,QAAA,gBAAAixB,OAAAjxB,QAAA,YAAAwgC,cAA0E3xB,GAAA0xB,aAAA,IAAAvxB,GAAAuxB,aAAA,IAAyCpqC,QAAAD,QAAA,SAAAyF,EAAA6D,GAA6B,IAAA,GAAAC,GAAA+gC,aAAAhhC,GAAA,IAAA1I,EAAAm6B,OAAAt1B,EAAAwQ,OAAAzM,EAAA/D,EAAAstB,eAAA7xB,EAAA,EAAuEA,EAAAsI,EAAA1H,OAAWZ,IAAA,IAAA,GAAAuI,GAAAD,EAAAtI,GAAAhB,EAAA,EAAuBA,EAAAuJ,EAAA3H,OAAW5B,IAAA,CAAK,GAAAO,GAAAgJ,EAAAvJ,EAAWO,GAAAkK,EAAAV,KAAAyO,MAAAjY,EAAAkK,EAAA/J,GAAAH,EAAA8J,EAAAN,KAAAyO,MAAAjY,EAAA8J,EAAA3J,IAAAH,EAAAkK,EAAApB,EAAA0K,KAAAxT,EAAAkK,EAAApB,EAAAmE,KAAAjN,EAAA8J,EAAAhB,EAAA0K,KAAAxT,EAAA8J,EAAAhB,EAAAmE,MAAAgsB,KAAA8H,SAAA,wEAAgL,MAAAh4B,MAC5hBgxB,eAAA,IAAAyP,WAAA,KAAiCM,IAAA,SAAAzgC,QAAA7J,OAAAD,SACpC,YAAa,IAAAwqC,UAAA1gC,QAAA,yBAA0F27B,UAAU/kC,KAAA,QAAA+B,KAAA,QAAAw4B,WAAA,KAA2Ch7B,QAAAD,QAAAwqC,WACzJnD,uBAAA,MAA2BoD,IAAA,SAAA3gC,QAAA7J,OAAAD,SAC9B,YAAa,SAAA0qC,wBAAAphC,EAAAC,EAAA9D,EAAAvF,GAAyC,IAAAoJ,EAAAqhC,UAAA,MAAAphC,GAAA8/B,cAAA//B,EAAAjI,SAAAoE,EAAAvF,EAAuD,IAAAuJ,GAAAH,EAAAqhC,UAAAtmC,IAAA,SAAAoF,GAAkC,MAAAF,GAAA8/B,cAAA//B,EAAAjI,SAAAq4B,KAAAnzB,UAAgDd,GAAId,KAAA8E,IAAOvJ,IAAO,OAAA,KAAAuJ,EAAA3H,OAAA2H,EAAA,GAAAA,EAA2B,QAAAmhC,yBAAAthC,EAAAC,GAAsC,GAAA9D,GAAA6D,EAAA5I,IAAa+E,KAAAA,EAAA6D,EAAAjI,SAAAktB,QAAAhlB,EAAA9G,KAAA,IAAA,IAAA8rB,QAAA,KAAA,KAA2D,IAAAruB,GAAA,UAAAqJ,EAAAshC,qBAAAvhC,EAAAjI,UAAAoB,IAAwD,OAAAi3B,MAAAnzB,QAAoB7F,KAAA,KAAA+E,EAAAw1B,WAAA/6B,EAAA,EAAA,EAAAg7B,WAAAh7B,EAAA,IAAA,EAAA2S,WAAA3S,EAAA,EAAA,GAAiEoJ,GAAI,GAAAiuB,uBAAAztB,QAAA,uBAAA4vB,KAAA5vB,QAAA,gBAAAwtB,qBAAA,WAAsHluB,KAAAo8B,cAAAp8B,KAAA0hC,YAAA1hC,KAAA2hC,yBAAA3hC,KAAA4hC,SAAgFC,UAASC,aAAa9hC,KAAA+hC,SAAA,GAAmB7T,sBAAAgB,cAAA,SAAAhvB,EAAAC,EAAA9D,GAAmD,IAAA,GAAAvF,GAAA,GAAAo3B,sBAAA7tB,EAAA,EAAAvI,EAAAoI,EAA2CG,EAAAvI,EAAAY,OAAW2H,GAAA,EAAA,CAAM,GAAAjI,GAAAopC,wBAAA1pC,EAAAuI,GAAAF,GAAAC,EAAAhI,EAAAd,KAAAyG,MAAA,EAA4DoC,GAAAqgC,4BAAApoC,EAAAH,UAAAnB,EAAAkrC,iBAAA5hC,EAAAhI,GAAA+H,EAAA8hC,yBAAA7pC,EAAAH,UAAAnB,EAAAorC,qBAAA9hC,EAAAhI,GAAAtB,EAAAqrC,4BAAA/hC,EAAAhI,EAAA+H,EAAA9D,GAA4K,MAAAvF,GAAAu4B,iBAAAlB,sBAAAr3B,EAAAslC,YAAAtlC,GAAgEo3B,qBAAAkU,aAAA,SAAAliC,GAA+C,IAAA,GAAAC,GAAA,GAAA+tB,sBAAA7xB,EAAA,EAAAvF,EAAAoJ,EAA2C7D,EAAAvF,EAAA4B,OAAW2D,GAAA,EAAA,CAAM,GAAAgE,GAAAvJ,EAAAuF,EAAW8D,GAAAkiC,WAAAhiC,EAAA,KAAAA,GAAuB,MAAAF,IAAS+tB,qBAAAh2B,UAAAmqC,WAAA,SAAAniC,EAAAC,GAAyD,GAAA9D,GAAA2D,KAAAsiC,WAAApiC,EAAyB7D,GAAAuD,OAAAhF,KAAA,8BAAyCuF,EAAA,KAAO9D,EAAAkmC,WAAA3nC,KAAA,sBAAwCsF,EAAA,MAAAC,EAAA,KAAeH,KAAA+hC,UAAA,MAAA7hC,GAA0BguB,qBAAAh2B,UAAA8pC,iBAAA,SAAA9hC,EAAAC,GAA+DH,KAAA0hC,SAAA9mC,KAAAuF,GAAAH,KAAAqiC,WAAAniC,EAAAC,EAAA7I,OAAgD42B,qBAAAh2B,UAAAgqC,qBAAA,SAAAhiC,EAAAC,GAAmE,GAAA9D,GAAA2D,KAAAsiC,WAAApiC,EAAyBF,MAAAo8B,WAAAxhC,KAAAuF,GAAA9D,EAAAuD,OAAAhF,KAAA,8BAAiEsF,EAAA,KAAO7D,EAAAwlC,OAAAjiC,OAAAhF,KAAA,gCAAqDuF,EAAA7I,KAAA,KAAY+E,EAAAwlC,OAAAU,WAAA3nC,KAAAsF,EAAA,MAAAC,EAAA7I,KAAA,MAAA6I,EAAA2xB,WAAA,OAAkE9xB,KAAA+hC,UAAA,MAAA7hC,GAA0BguB,qBAAAh2B,UAAAiqC,4BAAA,SAAAjiC,EAAAC,EAAA9D,EAAAvF,GAA8E,GAAAuJ,GAAAL,KAAAlI,EAAAkI,KAAAsiC,WAAApiC,EAAgCpI,GAAA8H,OAAAhF,KAAA,8BAAyCsF,EAAA,IAAU,IAAA1I,GAAA6E,EAAAmmC,4BAAAriC,EAAAlI,UAAAG,EAAA,CAAoD,IAAAZ,EAAAkB,OAAA,EAAA,KAAmBN,EAAAZ,EAAAkB,OAAA,GAAAlB,EAAAY,GAAAtB,GAAqBsB,GAAK,IAAAgI,GAAA,KAAAF,EAAA,IAAkBpI,GAAA+pC,OAAAjiC,OAAAhF,KAAA,sBAAAwF,EAAA,KAA+CJ,KAAA2hC,sBAAA/mC,MAAoCtD,KAAA8I,EAAAnI,SAAAkI,EAAAlI,SAAAwqC,WAAArqC,GAA0C,KAAA,GAAAC,MAAAnB,EAAA,EAAiBA,EAAA,EAAIA,IAAAmB,EAAAuC,KAAApD,EAAAqJ,KAAAgK,IAAAzS,EAAAlB,EAAAM,EAAAkB,OAAA,IAAwC,IAAAiH,KAAS,IAAA,IAAAQ,EAAA0xB,WAAA7xB,KAAAo8B,WAAAxhC,KAAA01B,KAAAnzB,UAAuDgD,GAAI0xB,WAAA,EAAA0P,UAAAlpC,KAAyBP,EAAA+pC,OAAAjiC,OAAAhF,KAAA,8BAA8CuF,EAAA7I,KAAA,KAAiBqI,EAAA/E,KAAAuF,EAAA7I,UAAkB,KAAA,GAAAmK,GAAA,EAAiBA,EAAA,EAAIA,IAAA,CAAK,GAAAP,GAAAf,EAAA7I,KAAAmK,CAAe9B,GAAA/E,KAAAsG,GAAAb,EAAA+7B,WAAAxhC,KAAA01B,KAAAnzB,UAA0CgD,GAAI7I,KAAA4J,EAAAqgC,WAAAlpC,EAAAoJ,OAAwB3J,EAAA+pC,OAAAjiC,OAAAhF,KAAA,gCAAqDsG,EAAA,KAAUpJ,EAAA+pC,OAAAU,WAAA3nC,KAAAsF,EAAA,6BAAAC,EAAA0xB,WAAA,gBAAAlyB,EAAA1B,KAAA,MAAA,KAAAmC,EAAA,OAAAD,EAAA2xB,WAAA,OAAiI9xB,KAAA+hC,UAAA,MAAA7hC,GAA0BguB,qBAAAh2B,UAAAoqC,WAAA,SAAApiC,GAAuD,MAAAF,MAAA4hC,QAAA1hC,KAAAF,KAAA4hC,QAAA1hC,IAA0CN,UAAA2iC,eAAwBviC,KAAA4hC,QAAA1hC,GAAA4hC,UAA2BliC,UAAA2iC,eAAwBviC,KAAA4hC,QAAA1hC,GAAA2hC,QAAyBjiC,UAAA2iC,gBAAwBviC,KAAA4hC,QAAA1hC,IAAkBguB,qBAAAh2B,UAAAwqC,aAAA,SAAAxiC,EAAAC,GAA2D,GAAA9D,GAAA2D,IAAW,OAAAE,GAAAilB,QAAA,mDAAA,SAAAjlB,EAAApJ,EAAAuJ,EAAAvI,EAAAN,GAAwF,MAAA6E,GAAAulC,QAAApqC,GAAAV,GAAAmN,OAAA5H,EAAAulC,QAAApqC,GAAA2I,GAAArJ,IAAAmH,KAAA,MAAAknB,QAAA,UAA4ErtB,GAAAqtB,QAAA,eAA0B9kB,MAAQ6tB,qBAAAh2B,UAAAq3B,8BAAA,WAAyE,IAAA,GAAApvB,MAAmB9D,EAAA,EAAAvF,EAAnBkJ,KAAmBo8B,WAAoB//B,EAAAvF,EAAA4B,OAAW2D,GAAA,EAAA,CAAM,GAAAgE,GAAAvJ,EAAAuF,EAAW,KAAAgE,EAAAoJ,aAAAtJ,EAAAE,EAAApI,WAAkCqM,KAAA,EAAA,IAAa,MAAAnE,IAAS+tB,qBAAAh2B,UAAA63B,mBAAA,SAAA7vB,EAAAC,EAAA9D,EAAAvF,EAAAuJ,EAAAvI,GAAyE,GAAAN,GAAAwI,KAAA5H,EAAA+H,EAAAzH,MAAsByH,GAAAoE,OAAAzN,EAAY,KAAA,GAAAsJ,GAAA,EAAA/H,EAAAb,EAAA4kC,WAA2Bh8B,EAAA/H,EAAAK,OAAW0H,GAAA,EAAA,IAAA,GAAAlJ,GAAAmB,EAAA+H,GAAAT,EAAA2hC,uBAAApqC,EAAAgJ,EAAAG,EAAAvI,GAAA2J,EAAArJ,EAA0DqJ,EAAA3K,EAAI2K,IAAA,CAAK,GAAAP,GAAAf,EAAAtI,IAAA4J,EAAe,IAAA,IAAAvK,EAAA26B,WAAA,IAAA,GAAA96B,GAAA,EAAgCA,EAAA,EAAIA,IAAAmK,EAAAhK,EAAAI,KAAAP,GAAA4I,EAAA5I,GAAAG,EAAA46B,eAAkC5wB,GAAAhK,EAAAI,MAAAqI,EAAAzI,EAAA46B,UAA8B,IAAA,IAAA56B,EAAAuS,WAAA,CAAqB,GAAAtS,GAAAkF,EAAAnF,EAAAe,SAAoBd,GAAAmN,IAAAzD,KAAAyD,IAAAnN,EAAAmN,IAAA,IAAApN,EAAA26B,WAAAlyB,EAAAkB,KAAAyD,IAAAyb,MAAAlf,KAAAlB,OAAkEuuB,qBAAAh2B,UAAAyqC,YAAA,SAAAziC,EAAAC,EAAA9D,EAAAvF,GAA8D,IAAA,GAAAuJ,GAAAL,KAAAlI,EAAA,EAAAN,EAAA6I,EAAAqhC,SAAgC5pC,EAAAN,EAAAkB,OAAWZ,GAAA,EAAA,CAAM,GAAAM,GAAAZ,EAAAM,GAAAsI,EAAA/D,EAAA4jC,cAAA7nC,EAAAH,SAAAnB,EAA2C,KAAAsB,EAAAy5B,WAAA3xB,EAAA0iC,WAAAziC,EAAA/H,EAAAd,MAAA8I,GAAAF,EAAA2iC,UAAA1iC,EAAA/H,EAAAd,MAAA8I,GAAoE,IAAA,GAAA/H,GAAA,EAAAnB,EAAAmJ,EAAAshC,sBAAsCtpC,EAAAnB,EAAAwB,OAAWL,GAAA,EAAA,CAAM,GAAAsH,GAAAzI,EAAAmB,GAAAoJ,EAAApF,EAAAymC,uBAAAnjC,EAAA1H,SAAAnB,EAAoDoJ,GAAA2iC,UAAA1iC,EAAAR,EAAArI,MAAAuJ,KAAAyD,IAAA,EAAAzD,KAAAgK,IAAA,EAAApJ,EAAA9B,EAAA8iC,gBAA+D5rC,OAAAD,QAAAs3B,uBACr0IkD,eAAA,IAAAjB,sBAAA,KAA4C4S,IAAA,SAAAriC,QAAA7J,OAAAD,SAC/C,YAAa,IAAAosC,mBAAAtiC,QAAA,yBAAmG27B,UAAU/kC,KAAA,QAAA+B,KAAA,QAAAw4B,WAAA,IAAyCv6B,KAAA,gBAAA+B,KAAA,QAAAw4B,WAAA,KAAmDh7B,QAAAD,QAAAosC,oBACnN/E,uBAAA,MAA2BgF,IAAA,SAAAviC,QAAA7J,OAAAD,SAC9B,YAAa,SAAAu3B,uBAAAhuB,GAAkC,MAAA69B,wBAA8B3B,QAAAl8B,EAAA+iC,UAAA,IAAwB,GAAAlF,uBAAAt9B,QAAA,uBAA0D7J,QAAAD,QAAAu3B,wBAC5J8P,uBAAA,MAA2BkF,IAAA,SAAAziC,QAAA7J,OAAAD,SAC9B,YAAa,IAAAwsC,YAAA,SAAA5rC,EAAA0I,EAAApI,GAA+BkI,KAAAqjC,OAAA7rC,EAAAwI,KAAAsjC,IAAApjC,EAAAF,KAAAzE,KAAAzD,EAAsCsrC,YAAAlrC,UAAAklB,MAAA,WAAsC,MAAA,IAAAgmB,YAAApjC,KAAAqjC,OAAArjC,KAAAsjC,IAAAtjC,KAAAzE,OAAsD6nC,WAAAlrC,UAAAqrC,OAAA,SAAA/rC,GAAyC,MAAAwI,MAAAod,QAAAomB,QAAAhsC,IAA+B4rC,WAAAlrC,UAAAolB,IAAA,SAAA9lB,GAAsC,MAAAwI,MAAAod,QAAAG,KAAA/lB,IAA4B4rC,WAAAlrC,UAAAsrC,QAAA,SAAAhsC,GAA0C,GAAA0I,GAAAW,KAAA+F,IAAA,EAAApP,EAAAwI,KAAAzE,KAA8B,OAAAyE,MAAAqjC,QAAAnjC,EAAAF,KAAAsjC,KAAApjC,EAAAF,KAAAzE,KAAA/D,EAAAwI,MAAmDojC,WAAAlrC,UAAAqlB,KAAA,SAAA/lB,GAAuC,MAAAA,GAAAA,EAAA+rC,OAAAvjC,KAAAzE,MAAAyE,KAAAqjC,QAAA7rC,EAAA6rC,OAAArjC,KAAAsjC,KAAA9rC,EAAA8rC,IAAAtjC,MAAwEnJ,OAAAD,QAAAwsC,gBAC9hBK,IAAA,SAAA/iC,QAAA7J,OAAAD,SACJ,YAAa,IAAAwW,MAAA1M,QAAA,gBAAA0M,KAAAs2B,OAAA,SAAAxjC,EAAApI,GAA2D,GAAAsZ,MAAAlR,IAAAkR,MAAAtZ,GAAA,KAAA,IAAAyI,OAAA,2BAAAL,EAAA,KAAApI,EAAA,IAA+E,IAAAkI,KAAA2jC,KAAAzjC,EAAAF,KAAA4jC,KAAA9rC,EAAAkI,KAAA4jC,IAAA,IAAA5jC,KAAA4jC,KAAA,GAAA,KAAA,IAAArjC,OAAA,6DAAmImjC,QAAAxrC,UAAAkV,KAAA,WAAiC,MAAA,IAAAs2B,QAAAt2B,KAAApN,KAAA2jC,KAAA,IAAA,KAAA3jC,KAAA4jC,MAAoDF,OAAAxrC,UAAA2rC,QAAA,WAAqC,OAAA7jC,KAAA2jC,IAAA3jC,KAAA4jC,MAA0BF,OAAAxrC,UAAAuf,SAAA,WAAsC,MAAA,UAAAzX,KAAA2jC,IAAA,KAAA3jC,KAAA4jC,IAAA,KAA2CF,OAAAl4B,QAAA,SAAAtL,GAA4B,GAAAA,YAAAwjC,QAAA,MAAAxjC,EAAgC,IAAAwQ,MAAAuD,QAAA/T,IAAA,IAAAA,EAAAxH,OAAA,MAAA,IAAAgrC,QAAArd,OAAAnmB,EAAA,IAAAmmB,OAAAnmB,EAAA,IAA+E,KAAAwQ,MAAAuD,QAAA/T,IAAA,gBAAAA,IAAA,OAAAA,EAAA,MAAA,IAAAwjC,QAAArd,OAAAnmB,EAAAyjC,KAAAtd,OAAAnmB,EAAA0jC,KAAkG,MAAA,IAAArjC,OAAA,oIAAmJ1J,OAAAD,QAAA8sC,SAC53BtS,eAAA,MAAmB0S,IAAA,SAAApjC,QAAA7J,OAAAD,SACtB,YAAa,IAAA8sC,QAAAhjC,QAAA,aAAA9D,aAAA,SAAAsD,EAAApI,GAA2DoI,IAAApI,EAAAkI,KAAA+jC,aAAA7jC,GAAA8jC,aAAAlsC,GAAA,IAAAoI,EAAAxH,OAAAsH,KAAA+jC,cAAA7jC,EAAA,GAAAA,EAAA,KAAA8jC,cAAA9jC,EAAA,GAAAA,EAAA,KAAAF,KAAA+jC,aAAA7jC,EAAA,IAAA8jC,aAAA9jC,EAAA,KAA8JtD,cAAA1E,UAAA8rC,aAAA,SAAA9jC,GAAgD,MAAAF,MAAAikC,IAAAP,OAAAl4B,QAAAtL,GAAAF,MAAuCpD,aAAA1E,UAAA6rC,aAAA,SAAA7jC,GAAiD,MAAAF,MAAAkkC,IAAAR,OAAAl4B,QAAAtL,GAAAF,MAAuCpD,aAAA1E,UAAAiF,OAAA,SAAA+C,GAA2C,GAAApI,GAAAuE,EAAAhE,EAAA2H,KAAAkkC,IAAA1sC,EAAAwI,KAAAikC,GAA8B,IAAA/jC,YAAAwjC,QAAA5rC,EAAAoI,EAAA7D,EAAA6D,MAA+B,CAAK,KAAAA,YAAAtD,eAAA,MAAA8T,OAAAuD,QAAA/T,GAAAA,EAAAuT,MAAA/C,MAAAuD,SAAAjU,KAAA7C,OAAAP,aAAA4O,QAAAtL,IAAAF,KAAA7C,OAAAumC,OAAAl4B,QAAAtL,IAAAF,IAAwJ,IAAAlI,EAAAoI,EAAAgkC,IAAA7nC,EAAA6D,EAAA+jC,KAAAnsC,IAAAuE,EAAA,MAAA2D,MAAsC,MAAA3H,IAAAb,GAAAa,EAAAsrC,IAAA9iC,KAAAgK,IAAA/S,EAAA6rC,IAAAtrC,EAAAsrC,KAAAtrC,EAAAurC,IAAA/iC,KAAAgK,IAAA/S,EAAA8rC,IAAAvrC,EAAAurC,KAAApsC,EAAAmsC,IAAA9iC,KAAAyD,IAAAjI,EAAAsnC,IAAAnsC,EAAAmsC,KAAAnsC,EAAAosC,IAAA/iC,KAAAyD,IAAAjI,EAAAunC,IAAApsC,EAAAosC,OAAA5jC,KAAAkkC,IAAA,GAAAR,QAAA5rC,EAAA6rC,IAAA7rC,EAAA8rC,KAAA5jC,KAAAikC,IAAA,GAAAP,QAAArnC,EAAAsnC,IAAAtnC,EAAAunC,MAAA5jC,MAAuMpD,aAAA1E,UAAAisC,UAAA,WAA6C,MAAA,IAAAT,SAAA1jC,KAAAkkC,IAAAP,IAAA3jC,KAAAikC,IAAAN,KAAA,GAAA3jC,KAAAkkC,IAAAN,IAAA5jC,KAAAikC,IAAAL,KAAA,IAA+EhnC,aAAA1E,UAAAksC,aAAA,WAAgD,MAAApkC,MAAAkkC,KAAgBtnC,aAAA1E,UAAAmsC,aAAA,WAAgD,MAAArkC,MAAAikC,KAAgBrnC,aAAA1E,UAAAosC,aAAA,WAAgD,MAAA,IAAAZ,QAAA1jC,KAAAukC,UAAAvkC,KAAAwkC,aAAkD5nC,aAAA1E,UAAAusC,aAAA,WAAgD,MAAA,IAAAf,QAAA1jC,KAAA0kC,UAAA1kC,KAAA2kC,aAAkD/nC,aAAA1E,UAAAqsC,QAAA,WAA2C,MAAAvkC,MAAAkkC,IAAAP,KAAoB/mC,aAAA1E,UAAAysC,SAAA,WAA4C,MAAA3kC,MAAAkkC,IAAAN,KAAoBhnC,aAAA1E,UAAAwsC,QAAA,WAA2C,MAAA1kC,MAAAikC,IAAAN,KAAoB/mC,aAAA1E,UAAAssC,SAAA,WAA4C,MAAAxkC,MAAAikC,IAAAL,KAAoBhnC,aAAA1E,UAAA2rC,QAAA,WAA2C,OAAA7jC,KAAAkkC,IAAAL,UAAA7jC,KAAAikC,IAAAJ,YAA8CjnC,aAAA1E,UAAAuf,SAAA,WAA4C,MAAA,gBAAAzX,KAAAkkC,IAAAzsB,WAAA,KAAAzX,KAAAikC,IAAAxsB,WAAA,KAAuE7a,aAAA4O,QAAA,SAAAtL,GAAkC,OAAAA,GAAAA,YAAAtD,cAAAsD,EAAA,GAAAtD,cAAAsD,IAA0DrJ,OAAAD,QAAAgG,eAC12DgoC,YAAA,KAAeC,IAAA,SAAAnkC,QAAA7J,OAAAD,SAClB,YAAa,IAAA8sC,QAAAhjC,QAAA,aAAAyc,MAAAzc,QAAA,kBAAA0iC,WAAA1iC,QAAA,gBAAA4vB,KAAA5vB,QAAA,gBAAAokC,OAAApkC,QAAA,kCAAAqkC,UAAArkC,QAAA,wBAAAixB,OAAAjxB,QAAA,kBAAAskC,SAAAtkC,QAAA,qBAAAyB,KAAA6iC,SAAA7iC,KAAAQ,KAAAqiC,SAAAriC,KAAAN,KAAA2iC,SAAA3iC,KAAA4iC,UAAA,SAAA/kC,EAAApJ,EAAAU,GAAqXwI,KAAA+/B,SAAA,IAAA//B,KAAAklC,uBAAA,KAAA1tC,GAAAA,EAAAwI,KAAAmlC,SAAAjlC,GAAA,EAAAF,KAAAolC,SAAAtuC,GAAA,GAAAkJ,KAAAqlC,WAAA,SAAA,UAAArlC,KAAAkE,MAAA,EAAAlE,KAAAmE,OAAA,EAAAnE,KAAAslC,QAAA,GAAA5B,QAAA,EAAA,GAAA1jC,KAAAzE,KAAA,EAAAyE,KAAAqe,MAAA,EAAAre,KAAAulC,KAAA,kBAAAvlC,KAAAwlC,OAAA,EAAAxlC,KAAAylC,aAAA,GAAiRC,oBAAqBxjB,WAAUvV,WAAWg5B,qBAAqBC,aAAaC,eAAeC,QAAQ1F,WAAW2F,SAASC,OAAOzqC,QAAQD,UAAU2qC,cAAc1kC,KAAKJ,KAAK5E,SAAWmpC,oBAAAxjB,QAAArqB,IAAA,WAA0C,MAAAmI,MAAAmlC,UAAqBO,mBAAAxjB,QAAApR,IAAA,SAAA5Q,GAA4CF,KAAAmlC,WAAAjlC,IAAAF,KAAAmlC,SAAAjlC,EAAAF,KAAAzE,KAAAsF,KAAAyD,IAAAtE,KAAAzE,KAAA2E,KAAqEwlC,mBAAA/4B,QAAA9U,IAAA,WAA2C,MAAAmI,MAAAolC,UAAqBM,mBAAA/4B,QAAAmE,IAAA,SAAA5Q,GAA4CF,KAAAolC,WAAAllC,IAAAF,KAAAolC,SAAAllC,EAAAF,KAAAzE,KAAAsF,KAAAgK,IAAA7K,KAAAzE,KAAA2E,KAAqEwlC,mBAAAC,kBAAA9tC,IAAA,WAAqD,MAAAmI,MAAAklC,oBAA+BQ,mBAAAE,UAAA/tC,IAAA,WAA6C,MAAAmI,MAAA+/B,SAAA//B,KAAAwC,OAAgCkjC,mBAAAG,YAAAhuC,IAAA,WAA+C,MAAAmI,MAAA8lC,KAAApoB,KAAA,IAAyBgoB,mBAAAI,KAAAjuC,IAAA,WAAwC,MAAA,IAAAslB,OAAAnd,KAAAkE,MAAAlE,KAAAmE,SAAyCuhC,mBAAAtF,QAAAvoC,IAAA,WAA2C,OAAAmI,KAAAqe,MAAAxd,KAAAgG,GAAA,KAA8B6+B,mBAAAtF,QAAAtvB,IAAA,SAAA5Q,GAA4C,GAAApJ,IAAAw5B,KAAAljB,KAAAlN,GAAA,IAAA,KAAAW,KAAAgG,GAAA,GAAyC7G,MAAAqe,QAAAvnB,IAAAkJ,KAAAylC,aAAA,EAAAzlC,KAAAqe,MAAAvnB,EAAAkJ,KAAAkmC,gBAAAlmC,KAAAmmC,eAAA9jC,KAAAC,SAAAD,KAAAE,OAAAvC,KAAAmmC,eAAAnmC,KAAAmmC,eAAAnmC,KAAAqe,SAA0KqnB,mBAAAK,MAAAluC,IAAA,WAAyC,MAAAmI,MAAAwlC,OAAA3kC,KAAAgG,GAAA,KAA+B6+B,mBAAAK,MAAAj1B,IAAA,SAAA5Q,GAA0C,GAAApJ,GAAAw5B,KAAA8V,MAAAlmC,EAAA,EAAA,IAAA,IAAAW,KAAAgG,EAAqC7G,MAAAwlC,SAAA1uC,IAAAkJ,KAAAylC,aAAA,EAAAzlC,KAAAwlC,OAAA1uC,EAAAkJ,KAAAkmC,kBAA0ER,mBAAAM,IAAAnuC,IAAA,WAAuC,MAAAmI,MAAAulC,KAAA1kC,KAAAgG,GAAA,KAA6B6+B,mBAAAM,IAAAl1B,IAAA,SAAA5Q,GAAwCA,EAAAW,KAAAyD,IAAA,IAAAzD,KAAAgK,IAAA,GAAA3K,IAAAF,KAAAulC,OAAArlC,IAAAF,KAAAylC,aAAA,EAAAzlC,KAAAulC,KAAArlC,EAAA,IAAAW,KAAAgG,GAAA7G,KAAAkmC,kBAAiHR,mBAAAnqC,KAAA1D,IAAA,WAAwC,MAAAmI,MAAAqmC,OAAkBX,mBAAAnqC,KAAAuV,IAAA,SAAA5Q,GAAyC,GAAApJ,GAAA+J,KAAAgK,IAAAhK,KAAAyD,IAAApE,EAAAF,KAAAkiB,SAAAliB,KAAA2M,QAAsD3M,MAAAqmC,QAAAvvC,IAAAkJ,KAAAylC,aAAA,EAAAzlC,KAAAqmC,MAAAvvC,EAAAkJ,KAAAwC,MAAAxC,KAAAsmC,UAAAxvC,GAAAkJ,KAAAumC,SAAA1lC,KAAAwN,MAAAvX,GAAAkJ,KAAAwmC,aAAA1vC,EAAAkJ,KAAAumC,SAAAvmC,KAAAymC,aAAAzmC,KAAAkmC,kBAAqLR,mBAAApqC,OAAAzD,IAAA,WAA0C,MAAAmI,MAAAslC,SAAoBI,mBAAApqC,OAAAwV,IAAA,SAAA5Q,GAA2CA,EAAA0jC,MAAA5jC,KAAAslC,QAAA1B,KAAA1jC,EAAAyjC,MAAA3jC,KAAAslC,QAAA3B,MAAA3jC,KAAAylC,aAAA,EAAAzlC,KAAAslC,QAAAplC,EAAAF,KAAAymC,aAAAzmC,KAAAkmC,kBAAgIjB,UAAA/sC,UAAAwuC,kBAAA,SAAAxmC,GAAmD,OAAAA,EAAAymC,UAAA9lC,KAAAyO,MAAAzO,KAAAwN,OAAArO,KAAAzE,KAAAyE,KAAA4mC,UAAA5mC,KAAA+/B,SAAA7/B,EAAA6/B,YAA8FkF,UAAA/sC,UAAA2uC,6BAAA,SAAA3mC,GAA8D,IAAA,GAAApJ,GAAAkJ,KAAA8mC,gBAAA,GAAA3pB,OAAA,EAAA,GAAA,GAAA3lB,EAAAwI,KAAA8mC,gBAAA,GAAA3pB,OAAAnd,KAAAkE,MAAA,GAAA,GAAA7H,EAAAwE,KAAAwN,MAAAvX,EAAAusC,QAAAljC,EAAAU,KAAAwN,MAAA7W,EAAA6rC,QAAAvrC,GAAAoI,GAAA7H,EAAAgE,EAA2JhE,GAAA8H,EAAK9H,IAAA,IAAAA,GAAAP,EAAA8C,KAAA,GAAAmqC,WAAA7kC,EAAAoI,EAAApI,EAAAqB,EAAArB,EAAAiB,EAAA9I,GAAgD,OAAAP,IAASmtC,UAAA/sC,UAAA6uC,cAAA,SAAA7mC,GAA+C,GAAApJ,GAAAkJ,KAAA0mC,kBAAAxmC,GAAA1I,EAAAV,CAAoC,IAAAA,EAAAoJ,EAAA8mC,QAAA,QAAwBlwC,GAAAoJ,EAAA+mC,UAAAnwC,EAAAoJ,EAAA+mC,QAA2B,IAAA5qC,GAAA2D,KAAA8mC,gBAAA9mC,KAAA6lC,YAAA/uC,GAAAqJ,EAAA,GAAAgd,OAAA9gB,EAAAgnC,OAAA,GAAAhnC,EAAAinC,IAAA,IAAAxrC,GAAAkI,KAAA8mC,gBAAA,GAAA3pB,OAAA,EAAA,GAAArmB,GAAAkJ,KAAA8mC,gBAAA,GAAA3pB,OAAAnd,KAAAkE,MAAA,GAAApN,GAAAkJ,KAAA8mC,gBAAA,GAAA3pB,OAAAnd,KAAAkE,MAAAlE,KAAAmE,QAAArN,GAAAkJ,KAAA8mC,gBAAA,GAAA3pB,OAAA,EAAAnd,KAAAmE,QAAArN,GAAuR,OAAAiuC,WAAAmC,MAAApwC,EAAAgB,EAAAoI,EAAAinC,kBAAA3vC,EAAAV,EAAAkJ,KAAAklC,oBAAAr8B,KAAA,SAAA3I,EAAApJ,GAA+F,MAAAqJ,GAAA+K,KAAAhL,GAAAC,EAAA+K,KAAApU,MAA6BmuC,UAAA/sC,UAAAqM,OAAA,SAAArE,EAAApJ,GAA0CkJ,KAAAkE,MAAAhE,EAAAF,KAAAmE,OAAArN,EAAAkJ,KAAAonC,iBAAA,EAAAlnC,GAAA,EAAApJ,GAAAkJ,KAAAymC,aAAAzmC,KAAAkmC,iBAAkGR,mBAAAO,WAAApuC,IAAA,WAA8C,MAAAmI,MAAAylC,aAAwBR,UAAA/sC,UAAAouC,UAAA,SAAApmC,GAA2C,MAAAW,MAAA+F,IAAA,EAAA1G,IAAqB+kC,UAAA/sC,UAAA0uC,UAAA,SAAA1mC,GAA2C,MAAAW,MAAAkL,IAAA7L,GAAAW,KAAAwQ,KAA4B4zB,UAAA/sC,UAAAyT,QAAA,SAAAzL,GAAyC,MAAA,IAAAid,OAAAnd,KAAAshB,KAAAphB,EAAAyjC,KAAA3jC,KAAAuhB,KAAArhB,EAAA0jC,OAAoDqB,UAAA/sC,UAAAmvC,UAAA,SAAAnnC,GAA2C,MAAA,IAAAwjC,QAAA1jC,KAAA0hB,KAAAxhB,EAAAqB,GAAAvB,KAAA2hB,KAAAzhB,EAAAiB,KAAiDukC,mBAAAnkC,EAAA1J,IAAA,WAAqC,MAAAmI,MAAAshB,KAAAthB,KAAA1E,OAAAqoC,MAAkC+B,mBAAAvkC,EAAAtJ,IAAA,WAAqC,MAAAmI,MAAAuhB,KAAAvhB,KAAA1E,OAAAsoC,MAAkC8B,mBAAAnpC,MAAA1E,IAAA,WAAyC,MAAA,IAAAslB,OAAAnd,KAAAuB,EAAAvB,KAAAmB,IAAgC8jC,UAAA/sC,UAAAopB,KAAA,SAAAphB,GAAsC,OAAA,IAAAA,GAAAF,KAAA4lC,UAAA,KAAiCX,UAAA/sC,UAAAqpB,KAAA,SAAArhB,GAAoG,OAAA,IAA9D,IAAAW,KAAAgG,GAAAhG,KAAAkL,IAAAlL,KAAAmB,IAAAnB,KAAAgG,GAAA,EAAA3G,EAAAW,KAAAgG,GAAA,OAA8D7G,KAAA4lC,UAAA,KAAiCX,UAAA/sC,UAAAwpB,KAAA,SAAAxhB,GAAsC,MAAA,KAAAA,EAAAF,KAAA4lC,UAAA,KAAgCX,UAAA/sC,UAAAypB,KAAA,SAAAzhB,GAAsC,GAAApJ,GAAA,IAAA,IAAAoJ,EAAAF,KAAA4lC,SAA+B,OAAA,KAAA/kC,KAAAgG,GAAAhG,KAAAkhB,KAAAlhB,KAAA0R,IAAAzb,EAAA+J,KAAAgG,GAAA,MAAA,IAAyDo+B,UAAA/sC,UAAAovC,mBAAA,SAAApnC,EAAApJ,GAAsD,GAAAU,GAAAwI,KAAA8mC,gBAAAhwC,GAAAymB,KAAAvd,KAAA8mC,gBAAA9mC,KAAA6lC,aAA2E7lC,MAAA1E,OAAA0E,KAAAunC,mBAAAvnC,KAAAwnC,mBAAAtnC,GAAAqd,KAAA/lB,IAAAwI,KAAAklC,qBAAAllC,KAAA1E,OAAA0E,KAAA1E,OAAA8R,SAAkI63B,UAAA/sC,UAAAuvC,cAAA,SAAAvnC,GAA+C,MAAAF,MAAA0nC,gBAAA1nC,KAAAwnC,mBAAAtnC,KAAwD+kC,UAAA/sC,UAAAyvC,cAAA,SAAAznC,GAA+C,MAAAF,MAAAunC,mBAAAvnC,KAAA8mC,gBAAA5mC,KAAwD+kC,UAAA/sC,UAAAsvC,mBAAA,SAAAtnC,GAAoD,MAAA,IAAAkjC,YAAApjC,KAAAshB,KAAAphB,EAAAyjC,KAAA3jC,KAAA+/B,SAAA//B,KAAAuhB,KAAArhB,EAAA0jC,KAAA5jC,KAAA+/B,SAAA//B,KAAAzE,MAAAgoC,OAAAvjC,KAAAumC,WAAqHtB,UAAA/sC,UAAAqvC,mBAAA,SAAArnC,GAAoD,GAAApJ,GAAAoJ,EAAAqjC,OAAAvjC,KAAAzE,KAA0B,OAAA,IAAAmoC,QAAA1jC,KAAA0hB,KAAA5qB,EAAAusC,OAAArjC,KAAA+/B,UAAA//B,KAAA2hB,KAAA7qB,EAAAwsC,IAAAtjC,KAAA+/B,YAAoFkF,UAAA/sC,UAAA4uC,gBAAA,SAAA5mC,EAAApJ,OAAmD,KAAAA,IAAAA,EAAAkJ,KAAAumC,SAA8B,IAAAlqC,IAAA6D,EAAAqB,EAAArB,EAAAiB,EAAA,EAAA,GAAAhB,GAAAD,EAAAqB,EAAArB,EAAAiB,EAAA,EAAA,EAAwCgB,MAAAC,cAAA/F,EAAAA,EAAA2D,KAAA4nC,oBAAAzlC,KAAAC,cAAAjC,EAAAA,EAAAH,KAAA4nC,mBAAgG,IAAA9vC,GAAAuE,EAAA,GAAAhE,EAAA8H,EAAA,GAAAE,EAAAhE,EAAA,GAAAvE,EAAAoJ,EAAAf,EAAA,GAAA9H,EAAAlB,EAAAkF,EAAA,GAAAvE,EAAAZ,EAAAiJ,EAAA,GAAA9H,EAAAD,EAAAiE,EAAA,GAAAvE,EAAAf,EAAAoJ,EAAA,GAAA9H,EAAA+H,EAAAhI,IAAArB,EAAA,GAAxI,EAAwIqB,IAAArB,EAAAqB,EAA8F,OAAA,IAAAgrC,YAAA0B,OAAAzkC,EAAAa,EAAAd,GAAAJ,KAAA+/B,SAAA+E,OAAA3tC,EAAAD,EAAAkJ,GAAAJ,KAAA+/B,SAAA//B,KAAAzE,MAAAioC,QAAA1sC,IAAoGmuC,UAAA/sC,UAAAwvC,gBAAA,SAAAxnC,GAAiD,GAAApJ,GAAAoJ,EAAAqjC,OAAAvjC,KAAAzE,MAAA/D,GAAAV,EAAAusC,OAAArjC,KAAA+/B,SAAAjpC,EAAAwsC,IAAAtjC,KAAA+/B,SAAA,EAAA,EAA6E,OAAA59B,MAAAC,cAAA5K,EAAAA,EAAAwI,KAAA6nC,aAAA,GAAA1qB,OAAA3lB,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAA+EytC,UAAA/sC,UAAA4vC,mBAAA,SAAA5nC,EAAApJ,GAAsD,GAAAU,GAAA0I,EAAA6nC,aAAAjxC,GAAAuF,EAAA2D,KAAA4lC,UAAA5lC,KAAAsmC,UAAA9uC,EAAA+D,MAAA4E,EAAAwC,KAAAC,SAAA,GAAAolC,cAAA,IAAsG,OAAArlC,MAAAE,UAAA1C,EAAAA,GAAA3I,EAAA6rC,OAAAhnC,EAAA7E,EAAA8rC,IAAAjnC,EAAA,IAAAsG,KAAAH,MAAArC,EAAAA,GAAA9D,EAAAs1B,OAAAt1B,EAAAs1B,OAAA,IAAAhvB,KAAAG,SAAA3C,EAAAH,KAAAioC,WAAA9nC,GAAA,GAAAS,cAAAT,IAA+I8kC,UAAA/sC,UAAAuuC,WAAA,WAA2C,GAAAzmC,KAAA1E,QAAA0E,KAAAkE,OAAAlE,KAAAmE,SAAAnE,KAAAkoC,cAAA,CAA8DloC,KAAAkoC,eAAA,CAAsB,IAAAhoC,GAAApJ,EAAAU,EAAA6E,EAAA8D,GAAA,GAAArI,EAAA,GAAAO,GAAA,IAAAgI,EAAA,IAAAa,EAAAlB,KAAA8lC,KAAA3uC,EAAA6I,KAAAylC,WAAmE,IAAAzlC,KAAAqlC,SAAA,CAAkB,GAAAnuC,GAAA8I,KAAAqlC,QAAoBllC,GAAAH,KAAAuhB,KAAArqB,EAAA,IAAAgJ,GAAApI,EAAAkI,KAAAuhB,KAAArqB,EAAA,KAAAiJ,EAAAe,EAAAC,EAAAD,EAAAC,GAAArJ,EAAAqI,GAAA,EAA0D,GAAAH,KAAAmoC,SAAA,CAAkB,GAAA/vC,GAAA4H,KAAAmoC,QAAoB9vC,GAAA2H,KAAAshB,KAAAlpB,EAAA,IAAAtB,GAAAuJ,EAAAL,KAAAshB,KAAAlpB,EAAA,KAAAC,EAAA6I,EAAAK,EAAAL,EAAAK,GAAAlB,EAAAhI,GAAA,EAA0D,GAAAtB,GAAA8J,KAAAyD,IAAAxN,GAAA,EAAAoJ,GAAA,EAA0B,IAAAnJ,EAAA,MAAAiJ,MAAA1E,OAAA0E,KAAAqnC,UAAA,GAAAlqB,OAAArmB,GAAAuJ,EAAAhI,GAAA,EAAA2H,KAAAuB,EAAArB,GAAApI,EAAAqI,GAAA,EAAAH,KAAAmB,IAAAnB,KAAAzE,MAAAyE,KAAA4mC,UAAA7vC,GAAAiJ,KAAAylC,YAAAtuC,OAAA6I,KAAAkoC,eAAA,EAAiK,IAAAloC,KAAAqlC,SAAA,CAAkB,GAAAjlC,GAAAJ,KAAAmB,EAAAxB,EAAAuB,EAAAC,EAAA,CAAqBf,GAAAT,EAAAQ,IAAA9D,EAAA8D,EAAAR,GAAAS,EAAAT,EAAA7H,IAAAuE,EAAAvE,EAAA6H,GAA8B,GAAAK,KAAAmoC,SAAA,CAAkB,GAAA9wC,GAAA2I,KAAAuB,EAAAE,EAAAP,EAAAK,EAAA,CAAqBlK,GAAAoK,EAAApJ,IAAAb,EAAAa,EAAAoJ,GAAApK,EAAAoK,EAAApB,IAAA7I,EAAA6I,EAAAoB,OAA8B,KAAAjK,OAAA,KAAA6E,IAAA2D,KAAA1E,OAAA0E,KAAAqnC,UAAA,GAAAlqB,WAAA,KAAA3lB,EAAAA,EAAAwI,KAAAuB,MAAA,KAAAlF,EAAAA,EAAA2D,KAAAmB,KAAAnB,KAAAylC,YAAAtuC,EAAA6I,KAAAkoC,eAAA,IAAmJjD,UAAA/sC,UAAAguC,cAAA,WAA8C,GAAAlmC,KAAAmE,OAAA,CAAgBnE,KAAAooC,uBAAA,GAAAvnC,KAAAmB,IAAAhC,KAAAulC,KAAA,GAAAvlC,KAAAmE,MAAiE,IAAAjE,GAAAF,KAAAulC,KAAA,EAAAzuC,EAAA+J,KAAAgG,GAAA,EAAA7G,KAAAwlC,OAAAhuC,EAAAqJ,KAAAC,IAAAZ,GAAAF,KAAAooC,uBAAAvnC,KAAAC,IAAAD,KAAAgG,GAAA/P,EAAAoJ,GAAAC,EAAA,MAAAU,KAAAE,IAAAF,KAAAgG,GAAA,EAAA7G,KAAAwlC,QAAAhuC,EAAAwI,KAAAooC,wBAAAtwC,EAAA,GAAAkwC,cAAA,GAA0MrlC,MAAAI,YAAAjL,EAAAkI,KAAAulC,KAAAvlC,KAAAkE,MAAAlE,KAAAmE,OAAA,EAAAhE,GAAAwC,KAAAH,MAAA1K,EAAAA,GAAA,GAAA,EAAA,IAAA6K,KAAAE,UAAA/K,EAAAA,GAAA,EAAA,GAAAkI,KAAAooC,yBAAAzlC,KAAAK,QAAAlL,EAAAA,EAAAkI,KAAAwlC,QAAA7iC,KAAAM,QAAAnL,EAAAA,EAAAkI,KAAAqe,OAAA1b,KAAAE,UAAA/K,EAAAA,IAAAkI,KAAAuB,GAAAvB,KAAAmB,EAAA,GAA4O,IAAA9I,GAAA2H,KAAA4lC,WAAA,EAAA/kC,KAAAgG,GAAA,QAAAhG,KAAAsF,IAAAtF,KAAAE,IAAAf,KAAA1E,OAAAsoC,KAAA/iC,KAAAgG,GAAA,OAA2F,IAAAlE,KAAAH,MAAA1K,EAAAA,GAAA,EAAA,EAAAO,EAAA,IAAA2H,KAAAioC,WAAAnwC,EAAAA,EAAA6K,KAAAL,SAAAK,KAAAH,MAAA1K,EAAAA,GAAAkI,KAAAkE,MAAA,GAAAlE,KAAAmE,OAAA,EAAA,IAAAxB,KAAAE,UAAA/K,EAAAA,GAAA,GAAA,EAAA,IAAAkI,KAAA6nC,YAAAllC,KAAAG,SAAA,GAAAklC,cAAA,IAAAlwC,EAAAkI,KAAAioC,cAAAnwC,EAAA6K,KAAAO,OAAA,GAAA8kC,cAAA,IAAAhoC,KAAA6nC,cAAA,KAAA,IAAAtnC,OAAA,0BAAsTP,MAAA4nC,mBAAA9vC,IAA2BL,OAAAid,iBAAAuwB,UAAA/sC,UAAAwtC,oBAAA7uC,OAAAD,QAAAquC,YAC/zQoD,iBAAA,GAAAC,uBAAA,GAAAC,iCAAA,IAAAnX,eAAA,IAAAoX,eAAA,GAAA5D,YAAA,GAAA6D,oBAAA,EAAA3e,iBAAA,KAAiL4e,IAAA,SAAAhoC,QAAA7J,OAAAD,SACpL,YAAa,IAAAopB,SAAAtf,QAAA,kBAAAT,SAAApJ,OAAAD,UAAiEqJ,UAAAwG,QAAA/F,QAAA,mBAAA+F,QAAAxG,SAAA0oC,YAAA9nC,KAAAyD,IAAAzD,KAAAwN,MAAA2R,QAAA4oB,oBAAA,GAAA,GAAA3oC,SAAA9E,IAAAuF,QAAA,YAAAT,SAAAtE,kBAAA+E,QAAA,mCAAAT,SAAA4oC,iBAAAnoC,QAAA,kCAAAT,SAAA6oC,mBAAApoC,QAAA,oCAAAT,SAAA8oC,aAAAroC,QAAA,8BAAAT,SAAA+oC,kBAAAtoC,QAAA,mCAAAT,SAAAgpC,MAAAvoC,QAAA,cAAAT,SAAAipC,OAAAxoC,QAAA,eAAAT,SAAAkpC,MAAAzoC,QAAA,iBAAAT,SAAAyjC,OAAAhjC,QAAA,iBAAAT,SAAArD,aAAA8D,QAAA,wBAAAT,SAAAkd,MAAAzc,QAAA,kBAAAT,SAAAmpC,QAAA1oC,QAAA,kBAAAT,SAAAmV,UAAA1U,QAAA,kBAAA0U,SAAk1B,IAAAi0B,QAAA3oC,QAAA,gBAAoCT,UAAAopC,OAAAA,MAAuB,IAAAC,eAAA5oC,QAAA,2BAAsDT,UAAAspC,iBAAAD,cAAAC,iBAAA9xC,OAAAC,eAAAuI,SAAA,eAAuGpI,IAAA,WAAe,MAAAwxC,QAAAG,cAA2B14B,IAAA,SAAAtZ,GAAiB6xC,OAAAG,aAAAhyC,OAChrCiyC,kBAAA,GAAAC,gBAAA,GAAAC,uBAAA,GAAAC,2BAAA,GAAAC,gBAAA,IAAAC,mCAAA,IAAAC,kCAAA,IAAAC,iCAAA,IAAAC,kCAAA,IAAAC,6BAAA,IAAAC,WAAA,IAAAC,cAAA,IAAAC,aAAA,IAAAC,iBAAA,IAAAC,gBAAA,IAAAC,iBAAA,IAAA1gB,iBAAA,KAAib2gB,IAAA,SAAA/pC,QAAA7J,OAAAD,SACpb,YAAa,SAAA8zC,gBAAAvqC,EAAAD,EAAA7D,GAA+B,GAAAgE,GAAAF,EAAAu8B,GAAA5lC,EAAAqJ,EAAA4N,UAAAjW,EAAAhB,EAAAipC,SAAAvoC,EAAA6E,EAAAsuC,MAAA,oBAAA5zC,EAAAsF,EAAAsuC,MAAA,sBAAAvqC,EAAA/D,EAAAsuC,MAAA,sBAAAhrC,GAAA5I,GAAA,IAAAS,EAAA,IAAA,IAAA4I,CAA0J,IAAAD,EAAAyqC,eAAAjrC,EAAA,CAAuBU,EAAA5E,QAAA4E,EAAAwqC,cAAA1qC,EAAA2qC,iBAAA,EAAgD,IAAAzyC,EAAMtB,IAAAsB,EAAA8H,EAAA4qC,WAAA,cAAA5qC,EAAA6qC,+BAAAC,QAAArT,QAAA7gC,EAAAoJ,EAAA9H,GAAA8H,EAAA+qC,qBAAA/2B,KAAA9T,EAAAhI,EAAA8H,EAAAgrC,oBAAA9yC,EAAA8H,EAAA4qC,WAAA,OAAA5qC,EAAA6qC,+BAAA3qC,EAAAuiC,WAAAvqC,EAAA+yC,QAAA5zC,GAAA2I,EAAAkrC,cAAAl3B,KAAA9T,EAAAhI,EAAA8H,EAAAgrC,mBAAA9qC,EAAAwiC,UAAAxqC,EAAAizC,UAAAlrC,EAAwS,KAAA,GAAsCqB,GAAA,EAAArJ,EAAtCtB,EAAAiwC,eAA2BhH,SAAAjoC,IAAqB2J,EAAArJ,EAAAM,OAAW+I,GAAA,EAAA,CAAM,GAAApK,GAAAe,EAAAqJ,EAAW1K,IAAAk0C,QAAAM,SAAoBjM,MAAAjoC,EAAA0oC,SAAAjoC,GAAmBqI,EAAA9H,GAAAgI,EAAAmrC,iBAAAnzC,EAAAozC,UAAA,EAAAtrC,EAAA4N,UAAA+5B,mBAAAzwC,IAAAgJ,EAAAqrC,WAAArrC,EAAAsrC,eAAA,EAAAxrC,EAAAgrC,iBAAAzyC,UAAuI,GAAAuyC,SAAAvqC,QAAA,YAAiC7J,QAAAD,QAAA8zC,iBACn1BkB,YAAA,KAAeC,IAAA,SAAAnrC,QAAA7J,OAAAD,SAClB,YAAa,SAAAk1C,aAAAzvC,EAAA8D,EAAAD,EAAAG,GAA8B,IAAAhE,EAAAuuC,aAAA,CAAoB,GAAA9zC,GAAAuF,EAAAqgC,EAAWrgC,GAAAyuC,iBAAA,GAAAzuC,EAAA0vC,WAAA,GAAAj1C,EAAA2E,QAAA3E,EAAA+zC,aAAgE,KAAA,GAAAxyC,GAAA,EAAYA,EAAAgI,EAAA3H,OAAWL,IAAA,CAAK,GAAAb,GAAA6I,EAAAhI,GAAAP,EAAAqI,EAAAoO,QAAA/W,GAAAmI,EAAA7H,EAAAk0C,UAAA9rC,EAA2C,IAAAP,EAAA,CAAM,GAAA5I,GAAA4I,EAAAgxB,QAAAz5B,EAAAH,EAAAk4B,UAAA/uB,EAAA9G,IAAAgH,EAAAlJ,EAAAk4B,qBAAAj4B,EAAAkF,EAAA0uC,WAAA,SAAA3qC,EAAwFA,GAAAuiC,YAAA7rC,EAAAK,EAAA+I,GAAqB3E,KAAAc,EAAA0R,UAAAxS,OAAsB,QAAA2E,EAAAyqC,MAAA,uBAAA7zC,EAAAm1C,UAAA90C,EAAA+0C,kBAAA,GAAAp1C,EAAAq1C,UAAAh1C,EAAAi1C,gBAAA/vC,EAAA0R,UAAAq5B,gBAAA,GAAA/qC,EAAA0R,UAAAq6B,uBAAA/rC,EAAA0R,UAAAq5B,gBAAA,GAAA/qC,EAAA0R,UAAAq6B,0BAAAtxC,EAAAm1C,UAAA90C,EAAA+0C,kBAAA,GAAAp1C,EAAAu1C,WAAAl1C,EAAAi1C,gBAAA/vC,EAAA0R,UAAAq5B,kBAAAtwC,EAAA+rC,UAAA1rC,EAAAm1C,mBAAAtsB,QAAAusB,kBAAAz1C,EAAA00C,iBAAAr0C,EAAAs0C,UAAA,EAAApvC,EAAAmwC,mBAAAh1C,EAAAi1C,UAAA30C,EAAAoI,EAAAyqC,MAAA,oBAAAzqC,EAAAyqC,MAAA,4BAAihB,KAAA,GAAAvyC,GAAA,EAAA4I,EAAAjK,EAAAy4B,SAAyBp3B,EAAA4I,EAAAtI,OAAWN,GAAA,EAAA,CAAM,GAAAmJ,GAAAP,EAAA5I,EAAWmJ,GAAAs8B,KAAA39B,EAAA9G,IAAA+a,KAAArd,EAAAK,EAAAJ,EAAA0mC,mBAAA1mC,EAAA2mC,cAAAxmC,EAAA0mC,kBAAAr8B,EAAA8sB,cAAAv3B,EAAA41C,aAAA51C,EAAA61C,UAAA,EAAAprC,EAAAitB,gBAAA13B,EAAA81C,eAAA,EAAArrC,EAAA+sB,gBAAA,OAA0L,GAAAtO,SAAAtf,QAAA,kBAAuC7J,QAAAD,QAAAk1C,cAC9nCe,kBAAA,MAAsBC,IAAA,SAAApsC,QAAA7J,OAAAD,SACzB,YAAa,SAAAm2C,oBAAA1wC,EAAA7E,EAAA2I,EAAArJ,GAAqC,GAAAoJ,GAAA7D,EAAAqgC,EAAWx8B,GAAA8sC,OAAA9sC,EAAA2qC,aAAyB,KAAA,GAAAlrC,GAAAtD,EAAA0uC,WAAA,gBAAAh0C,EAAA,EAA2CA,EAAAD,EAAA4B,OAAW3B,IAAA,CAAK,GAAAe,GAAAhB,EAAAC,GAAAsJ,EAAA7I,EAAA+W,QAAAzW,GAAAO,EAAAgI,EAAA2rC,UAAA7rC,EAA2C,IAAA9H,EAAA,CAAM,GAAA+H,GAAA/H,EAAAs4B,QAAAqG,YAA6B,IAAA52B,EAAA,CAAMF,EAAAsrC,iBAAA7rC,EAAA8rC,UAAA,EAAA3zC,EAAA20C,WAAApwC,EAAA4wC,uBAAAn1C,GAAAuE,EAAA6wC,UAAA,GAAAhtC,EAAA2iC,UAAAljC,EAAAwtC,QAAAtsC,KAAA+F,IAAA,EAAAvK,EAAA0R,UAAAxS,KAAA8E,EAAAi/B,MAAAh3B,IAAApI,EAAA2iC,UAAAljC,EAAAytC,OAAA,GAAA/wC,EAAA0R,UAAAxS,MAAA2E,EAAA2iC,UAAAljC,EAAA0tC,UAAA,IAAAhtC,EAAAi/B,MAAAh3B,EAAA,GAA2O,KAAA,GAAApR,GAAA,EAAAuK,EAAArB,EAAAovB,SAAyBt4B,EAAAuK,EAAA/I,OAAWxB,GAAA,EAAA,CAAM,GAAA8J,GAAAS,EAAAvK,EAAW8J,GAAA68B,KAAA19B,EAAA/G,IAAA+a,KAAAjU,EAAAP,EAAAS,EAAAq9B,mBAAAr9B,EAAAs9B,cAAA,KAAA18B,EAAAqtB,cAAAnuB,EAAAwsC,aAAAxsC,EAAAotC,MAAA,EAAAtsC,EAAAwtB,gBAAAtuB,EAAA0sC,eAAA,EAAA5rC,EAAAstB,gBAAA,OAAuKz3B,OAAAD,QAAAm2C,wBACxqBQ,IAAA,SAAA7sC,QAAA7J,OAAAD,SACJ,YAAa,SAAA42C,WAAArtC,EAAA9D,EAAAgE,GAA0B,IAAA,GAAAH,GAAA,EAAYA,EAAAG,EAAA3H,OAAWwH,IAAAutC,cAAAttC,EAAA9D,EAAAgE,EAAAH,IAA4B,QAAAutC,eAAAttC,EAAA9D,EAAAgE,GAA8B,GAAAH,GAAAC,EAAAu8B,EAAWx8B,GAAAzE,QAAAyE,EAAA2qC,cAAA1qC,EAAA+sC,UAAA,EAAAltB,QAAAusB,iBAAkE,IAAAz1C,GAAAuJ,EAAAosC,UAAArsC,EAAAD,EAAA4qC,WAAA,QAA0C7qC,GAAAsrC,iBAAAprC,EAAAqrC,UAAA,EAAA30C,GAAAoJ,EAAAwtC,UAAAttC,EAAAgrC,QAAA,EAAA,EAAA,EAAA,GAAAjrC,EAAAwtC,SAAAx5B,KAAAjU,EAAAE,EAAAD,EAAAytC,aAAA1tC,EAAAwrC,WAAAxrC,EAAA2tC,WAAA,EAAA1tC,EAAAytC,YAAAl1C,OAAwJ,KAAA,GAAAlB,GAAAs2C,oBAAAztC,EAAAoX,WAAA,GAAA,IAAA,GAAA9X,EAAA,GAAAyhC,UAAAtpC,EAAA,EAAwEA,EAAAN,EAAAkB,OAAWZ,GAAA,EAAA6H,EAAA8xB,YAAAj6B,EAAAM,GAAAN,EAAAM,EAAA,GAAgC,IAAAf,GAAA+f,OAAA0lB,gBAAA78B,EAAAmX,OAAAsmB,WAAAC,SAAA,GAAAG,oBAAiFrpB,KAAAjU,EAAAE,EAAArJ,GAAAmJ,EAAAwtC,UAAAttC,EAAAgrC,QAAA,EAAA,EAAA,EAAA,EAA6C,KAAA,GAAA/yC,GAAAgE,EAAAkS,QAAAlO,GAAA0/B,SAAAt+B,EAAAkwB,QAAA9wB,KAAA+F,IAAA,EAAAzG,EAAA4N,UAAAxS,KAAA8E,EAAAiI,GAAAjQ,GAAAkJ,KAAA,GAAA,KAAA,EAAA,IAAA,GAAA,IAAA,EAAA,IAAAlK,EAAA,EAAkHA,EAAAkK,EAAA7I,OAAWrB,IAAA,CAAK,GAAAmK,GAAAD,EAAAlK,EAAW6I,GAAAsrC,iBAAAprC,EAAAqrC,UAAA,EAAA9oC,KAAAE,aAAA/L,GAAA2K,EAAAD,EAAA,GAAAC,EAAAD,EAAA,GAAA,KAAAtB,EAAAwrC,WAAAxrC,EAAAotC,MAAA,EAAAv2C,EAAA2B,QAA0GwH,EAAAwtC,UAAAttC,EAAAgrC,QAAA,EAAA,EAAA,EAAA,GAAAlrC,EAAAsrC,iBAAAprC,EAAAqrC,UAAA,EAAA30C,GAAAoJ,EAAAwrC,WAAAxrC,EAAAotC,MAAA,EAAAv2C,EAAA2B,QAAoG,QAAAo1C,qBAAA3tC,EAAA9D,EAAAgE,EAAAH,GAAsCA,EAAAA,GAAA,CAAO,IAAApJ,GAAAsJ,EAAA5I,EAAAmI,EAAA7H,EAAAf,EAAAG,EAAAmB,EAAAoJ,IAAyB,KAAA3K,EAAA,EAAAsJ,EAAAD,EAAAzH,OAAmB5B,EAAAsJ,EAAItJ,IAAA,GAAAgB,EAAAi2C,YAAA5tC,EAAArJ,IAAA,CAA4B,IAAAuB,EAAA,KAAAb,EAAA,EAAAmI,EAAA7H,EAAA,GAAAY,OAA6BlB,EAAAmI,EAAInI,GAAA,GAAA,IAAAM,EAAA,GAAAN,KAAA,IAAAM,EAAA,GAAAN,EAAA,GAAAa,EAAA,MAAAtB,EAAAsF,EAAAvE,EAAA,GAAAN,GAAA0I,EAAAhJ,EAAAmJ,EAAAvI,EAAA,GAAAN,EAAA,GAAA0I,EAAA7H,GAAAoJ,EAAA7G,KAAAvC,EAAAkJ,EAAAlJ,EAAA8I,EAAApK,EAAAG,GAAAmB,GAAkGkJ,EAAAxK,EAAAoK,EAAAjK,GAAUmF,IAAAvE,EAAA,GAAAoI,EAAU,MAAAuB,GAAS,GAAAue,SAAAtf,QAAA,mBAAAiC,KAAAjC,QAAA,qBAAAiC,KAAAgvB,OAAAjxB,QAAA,kBAAAoW,OAAApW,QAAA,kBAAA88B,kBAAA98B,QAAA,yBAAA0gC,SAAA1gC,QAAA,oBAAyO7J,QAAAD,QAAA42C,SAAyB,IAAAO,cAAiBC,KAAA,OAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,GAAA,GAAA,KAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAC,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,KAAAC,KAAA,IAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,IAAAC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,KAAAvuC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,IAAA2C,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,IAAA+B,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAkB,GAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAAY,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAyC,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAAO,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,KAAAU,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,KAAAY,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA0jC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAu8D,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,GAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAluC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAgzB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAAR,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAhhB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,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","file":"public/assets/js/maps.js.map","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 43ebdd943e2791855d4e","//mapbox-utils.js\nimport mapboxgl from 'mapbox-gl/dist/mapbox-gl.js';\nimport parseLocation from './parse-location';\nimport selectPlaceInForm from './select-place';\n\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\n\n//define some functions to be used in the default function.\nconst titlecase = (string) => {\n return string.split('-').map(([first,...rest]) => first.toUpperCase() + rest.join('').toLowerCase()).join(' ');\n};\n\nconst addMapTypeOption = (map, menu, option, checked = false) => {\n let input = document.createElement('input');\n input.setAttribute('id', option);\n input.setAttribute('type', 'radio');\n input.setAttribute('name', 'toggle');\n input.setAttribute('value', option);\n if (checked == true) {\n input.setAttribute('checked', 'checked');\n }\n input.addEventListener('click', function () {\n let source = map.getSource('points');\n map.setStyle('mapbox://styles/mapbox/' + option + '-v9');\n map.on('style.load', function () {\n map.addLayer({\n 'id': 'points',\n 'type': 'symbol',\n 'source': {\n 'type': 'geojson',\n 'data': source._data\n },\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\n });\n let label = document.createElement('label');\n label.setAttribute('for', option);\n label.appendChild(document.createTextNode(titlecase(option)));\n menu.appendChild(input);\n menu.appendChild(label);\n};\n\nconst makeMapMenu = (map) => {\n let mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n addMapTypeOption(map, mapMenu, 'streets', true);\n addMapTypeOption(map, mapMenu, 'satellite-streets');\n return mapMenu;\n};\n\n//the main function\nexport default function addMap(div, position = null, places = null) {\n let dataLatitude = div.dataset.latitude;\n let dataLongitude = div.dataset.longitude;\n let data = window['geojson'+div.dataset.id];\n if (data == null) {\n data = {\n 'type': 'FeatureCollection',\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [dataLongitude, dataLatitude]\n },\n 'properties': {\n 'title': 'Current Location',\n 'icon': 'circle-stroked',\n 'uri': 'current-location'\n }\n }]\n };\n }\n if (places != null) {\n for (let place of places) {\n let placeLongitude = parseLocation(place.location).longitude;\n let placeLatitude = parseLocation(place.location).latitude;\n data.features.push({\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [placeLongitude, placeLatitude]\n },\n 'properties': {\n 'title': place.name,\n 'icon': 'circle',\n 'uri': place.slug\n }\n });\n }\n }\n if (position != null) {\n dataLongitude = position.coords.longitude;\n dataLatitude = position.coords.latitude;\n }\n let map = new mapboxgl.Map({\n container: div,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [dataLongitude, dataLatitude],\n zoom: 15\n });\n if (position == null) {\n map.scrollZoom.disable();\n }\n map.addControl(new mapboxgl.NavigationControl());\n div.appendChild(makeMapMenu(map));\n map.on('load', function () {\n map.addLayer({\n 'id': 'points',\n 'type': 'symbol',\n 'source': {\n 'type': 'geojson',\n 'data': data\n },\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\n if (position != null) {\n map.on('click', function (e) {\n let features = map.queryRenderedFeatures(e.point, {\n layer: ['points']\n });\n // if there are features within the given radius of the click event,\n // fly to the location of the click event\n if (features.length) {\n // Get coordinates from the symbol and center the map on those coordinates\n map.flyTo({center: features[0].geometry.coordinates});\n selectPlaceInForm(features[0].properties.uri);\n }\n });\n }\n if (data.features && data.features.length > 1) {\n let bounds = new mapboxgl.LngLatBounds();\n for (let feature of data.features) {\n bounds.extend(feature.geometry.coordinates);\n }\n map.fitBounds(bounds, { padding: 65});\n }\n\n return map;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./mapbox-utils.js","//parse-location.js\n\n//text = `POINT(lon lat)`\nexport default function parseLocation(text) {\n let coords = /POINT\\((.*)\\)/.exec(text);\n let parsedLongitude = coords[1].split(' ')[0];\n let parsedLatitude = coords[1].split(' ')[1];\n\n return {'latitude': parsedLatitude, 'longitude': parsedLongitude};\n}\n\n\n\n// WEBPACK FOOTER //\n// ./parse-location.js","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(_dereq_,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(_dereq_,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(_dereq_,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(_dereq_,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=_dereq_(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(_dereq_,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=_dereq_(\"./feature\");\n},{\"./feature\":10}],9:[function(_dereq_,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(_dereq_,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(_dereq_,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(_dereq_,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(_dereq_,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(_dereq_,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(_dereq_,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=_dereq_(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.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?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(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(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(_dereq_,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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 n=t.x-this.x,i=t.y-this.y;return n*n+i*i},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,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,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},_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 n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(_dereq_,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(_dereq_,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=_dereq_(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=_dereq_(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(_dereq_,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58,\"./vertex_array_type\":60}],45:[function(_dereq_,module,exports){\n\"use strict\";var ArrayGroup=_dereq_(\"./array_group\"),BufferGroup=_dereq_(\"./buffer_group\"),util=_dereq_(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||y<0||y>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,o,y,-1,-1),addCircleVertex(r.layoutVertexArray,o,y,1,-1),addCircleVertex(r.layoutVertexArray,o,y,1,1),addCircleVertex(r.layoutVertexArray,o,y,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56}],47:[function(_dereq_,module,exports){\n\"use strict\";var Bucket=_dereq_(\"../bucket\"),createElementArrayType=_dereq_(\"../element_array_type\"),loadGeometry=_dereq_(\"../load_geometry\"),earcut=_dereq_(\"earcut\"),classifyRings=_dereq_(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutAttributes:[{name:\"a_pos\",components:2,type:\"Int16\"}],elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function t(t){e.call(this,t,fillInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this.arrays,r=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);rEXTENT)||e.y===t.y&&(e.y<0||e.y>EXTENT)}var Bucket=_dereq_(\"../bucket\"),createElementArrayType=_dereq_(\"../element_array_type\"),loadGeometry=_dereq_(\"../load_geometry\"),EXTENT=_dereq_(\"../extent\"),earcut=_dereq_(\"earcut\"),classifyRings=_dereq_(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutAttributes:[{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}],elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function t(t){e.call(this,t,fillExtrusionInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this.arrays,r=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);r=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var E=g.sub(A)._perp()._unit();addVertex(t.layoutVertexArray,g.x,g.y,E.x,E.y,0,0,m),addVertex(t.layoutVertexArray,g.x,g.y,E.x,E.y,0,1,m),m+=A.dist(g),addVertex(t.layoutVertexArray,A.x,A.y,E.x,E.y,0,0,m),addVertex(t.layoutVertexArray,A.x,A.y,E.x,E.y,0,1,m);var v=u.vertexLength;t.elementArray.emplaceBack(v,v+1,v+2),t.elementArray.emplaceBack(v+1,v+2,v+3),u.vertexLength+=4,u.primitiveLength+=2}}p.push(g.x),p.push(g.y)}}}for(var _=earcut(p,s),T=0;T<_.length;T+=3)t.elementArray.emplaceBack(c[_[T]],c[_[T+1]],c[_[T+2]]);u.primitiveLength+=_.length/3}t.populatePaintArrays(e.properties)},t}(Bucket);FillExtrusionBucket.programInterface=fillExtrusionInterface,module.exports=FillExtrusionBucket;\n},{\"../../util/classify_rings\":198,\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"earcut\":5}],49:[function(_dereq_,module,exports){\n\"use strict\";function addLineVertex(e,t,r,i,a,n,d){e.emplaceBack(t.x<<1|i,t.y<<1|a,Math.round(EXTRUDE_SCALE*r.x)+128,Math.round(EXTRUDE_SCALE*r.y)+128,(0===n?0:n<0?-1:1)+1|(d*LINE_DISTANCE_SCALE&63)<<2,d*LINE_DISTANCE_SCALE>>6)}var Bucket=_dereq_(\"../bucket\"),createElementArrayType=_dereq_(\"../element_array_type\"),loadGeometry=_dereq_(\"../load_geometry\"),EXTENT=_dereq_(\"../extent\"),VectorTileFeature=_dereq_(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutAttributes:[{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;for(var o=0;oo){var R=y.dist(m);if(R>2*p){var g=y.sub(y.sub(m)._mult(p/R)._round());d.distance+=g.dist(m),d.addCurrentVertex(g,d.distance,x.mult(1),0,0,!1,h),m=g}}var F=m&&E,B=F?r:E?A:L;if(F&&\"round\"===B&&(Na&&(B=\"bevel\"),\"bevel\"===B&&(N>2&&(B=\"flipbevel\"),N100)I=C.clone().mult(-1);else{var k=x.x*C.y-x.y*C.x>0?-1:1,D=N*x.add(C).mag()/x.sub(C).mag();I._perp()._mult(D*k)}d.addCurrentVertex(y,d.distance,I,0,0,!1,h),d.addCurrentVertex(y,d.distance,I.mult(-1),0,0,!1,h)}else if(\"bevel\"===B||\"fakeround\"===B){var P=x.x*C.y-x.y*C.x>0,U=-Math.sqrt(N*N-1);if(P?(f=0,v=U):(v=0,f=U),S||d.addCurrentVertex(y,d.distance,x,v,f,!1,h),\"fakeround\"===B){for(var q=Math.floor(8*(.5-(T-.5))),M=void 0,O=0;O=0;X--)M=x.mult((X+1)/(q+1))._add(C)._unit(),d.addPieSliceVertex(y,d.distance,M,P,h)}E&&d.addCurrentVertex(y,d.distance,C,-v,-f,!1,h)}else\"butt\"===B?(S||d.addCurrentVertex(y,d.distance,x,0,0,!1,h),E&&d.addCurrentVertex(y,d.distance,C,0,0,!1,h)):\"square\"===B?(S||(d.addCurrentVertex(y,d.distance,x,1,1,!1,h),d.e1=d.e2=-1),E&&d.addCurrentVertex(y,d.distance,C,-1,-1,!1,h)):\"round\"===B&&(S||(d.addCurrentVertex(y,d.distance,x,0,0,!1,h),d.addCurrentVertex(y,d.distance,x,1,1,!0,h),d.e1=d.e2=-1),E&&(d.addCurrentVertex(y,d.distance,C,-1,-1,!0,h),d.addCurrentVertex(y,d.distance,C,0,0,!1,h)));if(b&&V2*p){var w=y.add(E.sub(y)._mult(p/H)._round());d.distance+=w.dist(y),d.addCurrentVertex(w,d.distance,C.mult(1),0,0,!1,h),y=w}}S=!1}_.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"vector-tile\":34}],50:[function(_dereq_,module,exports){\n\"use strict\";function addVertex(e,t,o,a,i,r,n,s,l,c,u,y){e.emplaceBack(t,o,Math.round(64*a),Math.round(64*i),r/4,n/4,packUint8ToFloat(10*(u||0),y%256),packUint8ToFloat(10*(l||0),10*Math.min(c||25,25)),s?s[0]:void 0,s?s[1]:void 0,s?s[2]:void 0)}function addCollisionBoxVertex(e,t,o,a,i){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*a,10*i)}function getSizeData(e,t,o){var a={isFeatureConstant:t.isLayoutValueFeatureConstant(o),isZoomConstant:t.isLayoutValueZoomConstant(o)};if(a.isFeatureConstant&&(a.layoutSize=t.getLayoutValue(o,{zoom:e+1})),!a.isZoomConstant){for(var i=t.getLayoutValueStopZoomLevels(o),r=0;rEXTENT||r.y<0||r.y>EXTENT);if(!h||n){var s=n||v;a.addSymbolInstance(r,i,t,o,a.layers[0],s,a.collisionBoxArray,e.index,e.sourceLayerIndex,a.index,u,x,f,p,d,b,{zoom:a.zoom},e.properties)}};if(\"line\"===S)for(var B=0,M=clipLine(e.geometry,0,0,EXTENT,EXTENT);B=0;r--)if(o.dist(i[r])7*Math.PI/4)continue}else if(i&&r&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(i&&r&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var g=x.tl,f=x.tr,b=x.bl,v=x.br,S=x.tex,I=x.anchorPoint,z=Math.max(y+Math.log(x.minScale)/Math.LN2,p),B=Math.min(y+Math.log(x.maxScale)/Math.LN2,25);if(!(B<=z)){z===p&&(z=0);var M=Math.round(x.glyphAngle/(2*Math.PI)*256),L=e.prepareSegment(4),A=L.vertexLength;addVertex(u,I.x,I.y,g.x,g.y,S.x,S.y,a,z,B,p,M),addVertex(u,I.x,I.y,f.x,f.y,S.x+S.w,S.y,a,z,B,p,M),addVertex(u,I.x,I.y,b.x,b.y,S.x,S.y+S.h,a,z,B,p,M),addVertex(u,I.x,I.y,v.x,v.y,S.x+S.w,S.y+S.h,a,z,B,p,M),c.emplaceBack(A,A+1,A+2),c.emplaceBack(A+1,A+2,A+3),L.vertexLength+=4,L.primitiveLength+=2}}e.populatePaintArrays(s)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,a=o.layoutVertexArray,i=o.elementArray,r=-e.angle,n=e.yStretch,s=0,l=t.symbolInstances;sSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),A>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var T=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:B,textBoxEndIndex:M,iconBoxStartIndex:L,iconBoxEndIndex:A,glyphQuads:S,iconQuads:v,anchor:e,featureIndex:s,featureProperties:g,writingModes:T})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../shaders/encode_attribute\":81,\"../../symbol/anchor\":160,\"../../symbol/clip_line\":162,\"../../symbol/collision_feature\":164,\"../../symbol/get_anchors\":166,\"../../symbol/mergelines\":169,\"../../symbol/quads\":170,\"../../symbol/shaping\":171,\"../../symbol/transform_text\":173,\"../../util/classify_rings\":198,\"../../util/find_pole_of_inaccessibility\":204,\"../../util/script_detection\":211,\"../../util/token\":214,\"../../util/util\":215,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"point-geometry\":26,\"vector-tile\":34}],51:[function(_dereq_,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e};Buffer.fromStructArray=function(t,e){return new Buffer(t.serialize(),t.constructor.serialize(),e)},Buffer.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.gl=t,this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.enableAttributes=function(t,e){for(var r=this,f=0;f0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":215,\"./extent\":54}],57:[function(_dereq_,module,exports){\n\"use strict\";var createStructArrayType=_dereq_(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":213}],58:[function(_dereq_,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=_dereq_(\"./vertex_array_type\"),util=_dereq_(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a4)for(;p90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(Array.isArray(t)&&2===t.length)return new LngLat(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new LngLat(Number(t.lng),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":215}],63:[function(_dereq_,module,exports){\n\"use strict\";var LngLat=_dereq_(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(_dereq_,module,exports){\n\"use strict\";var LngLat=_dereq_(\"./lng_lat\"),Point=_dereq_(\"point-geometry\"),Coordinate=_dereq_(\"./coordinate\"),util=_dereq_(\"../util/util\"),interp=_dereq_(\"../style-spec/util/interpolate\"),TileCoord=_dereq_(\"../source/tile_coord\"),EXTENT=_dereq_(\"../data/extent\"),glmatrix=_dereq_(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.renderWorldCopies.get=function(){return this._renderWorldCopies},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.getVisibleWrappedCoordinates=function(t){for(var i=this.pointCoordinate(new Point(0,0),0),o=this.pointCoordinate(new Point(this.width,0),0),e=Math.floor(i.column),r=Math.floor(o.column),n=[t],s=e;s<=r;s++)0!==s&&n.push(new TileCoord(t.z,t.x,t.y,s));return n},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o)),this._renderWorldCopies&&(this.center=this.center.wrap())},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r=-90,n=90,s=-180,a=180,h=this.size,c=this._unmodified;if(this.latRange){var m=this.latRange;r=this.latY(m[1]),n=this.latY(m[0]),t=n-rn&&(e=n-f)}if(this.lngRange){var d=this.x,g=h.x/2;d-ga&&(o=a-g)}void 0===o&&void 0===e||(this.center=this.unproject(new Point(void 0!==o?o:this.x,void 0!==e?e:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":96,\"../style-spec/util/interpolate\":123,\"../util/util\":215,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(_dereq_,module,exports){\n\"use strict\";var browser=_dereq_(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=_dereq_(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=_dereq_(\"./ui/map\"),mapboxgl.NavigationControl=_dereq_(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=_dereq_(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=_dereq_(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=_dereq_(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=_dereq_(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=_dereq_(\"./ui/popup\"),mapboxgl.Marker=_dereq_(\"./ui/marker\"),mapboxgl.Style=_dereq_(\"./style/style\"),mapboxgl.LngLat=_dereq_(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=_dereq_(\"./geo/lng_lat_bounds\"),mapboxgl.Point=_dereq_(\"point-geometry\"),mapboxgl.Evented=_dereq_(\"./util/evented\"),mapboxgl.supported=_dereq_(\"./util/browser\").supported;var config=_dereq_(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=_dereq_(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":91,\"./style/style\":149,\"./ui/control/attribution_control\":176,\"./ui/control/fullscreen_control\":177,\"./ui/control/geolocate_control\":178,\"./ui/control/navigation_control\":180,\"./ui/control/scale_control\":181,\"./ui/map\":190,\"./ui/marker\":191,\"./ui/popup\":192,\"./util/browser\":195,\"./util/config\":199,\"./util/evented\":203,\"point-geometry\":26}],66:[function(_dereq_,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":195,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(_dereq_,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=_dereq_(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":215}],74:[function(_dereq_,module,exports){\n\"use strict\";function drawSymbols(t,e,i,o){if(!t.isOpaquePass){var a=!(i.layout[\"text-allow-overlap\"]||i.layout[\"icon-allow-overlap\"]||i.layout[\"text-ignore-placement\"]||i.layout[\"icon-ignore-placement\"]),n=t.gl;a?n.disable(n.STENCIL_TEST):n.enable(n.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),drawLayerSymbols(t,e,i,o,!1,i.paint[\"icon-translate\"],i.paint[\"icon-translate-anchor\"],i.layout[\"icon-rotation-alignment\"],i.layout[\"icon-rotation-alignment\"]),drawLayerSymbols(t,e,i,o,!0,i.paint[\"text-translate\"],i.paint[\"text-translate-anchor\"],i.layout[\"text-rotation-alignment\"],i.layout[\"text-pitch-alignment\"]),e.map.showCollisionBoxes&&drawCollisionDebug(t,e,i,o)}}function drawLayerSymbols(t,e,i,o,a,n,r,s,l){if(a||!t.style.sprite||t.style.sprite.loaded()){var u=t.gl,m=\"map\"===s,f=\"map\"===l,c=f;c?u.enable(u.DEPTH_TEST):u.disable(u.DEPTH_TEST);for(var p,_,g=0,y=o;gthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":88}],79:[function(_dereq_,module,exports){\n\"use strict\";var path=_dereq_(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n// Unpack a pair of values that have been packed into a single float.\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\n// packed like so:\\n// packedValue = floor(input[0]) * 256 + input[1],\\nvec2 unpack_float(const float packedValue) {\\n int packedIntValue = int(packedValue);\\n int v0 = packedIntValue / 256;\\n return vec2(v0, packedIntValue - v0 * 256);\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n return vec4(\\n unpack_float(encodedColor[0]) / 255.0,\\n unpack_float(encodedColor[1]) / 255.0\\n );\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize highp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize highp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform highp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n 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);\\n 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);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n 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);\\n 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);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize highp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize highp vec4 color\\n\\n base = max(0.0, base);\\n height = max(0.0, height);\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n base = max(0.0, base);\\n height = max(0.0, height);\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n 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, pos);\\n 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, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n v_pos.x = a_pos.x;\\n v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:'\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\n\\n// icon-size data (see symbol_sdf.vertex.glsl for more)\\nattribute vec3 a_size;\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform mediump float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform mediump float u_size; // used when size is both zoom and feature constant\\nuniform mediump float u_layout_size; // used when size is feature constant\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform bool u_is_text;\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_data.xy;\\n mediump vec2 label_data = unpack_float(a_data[2]);\\n mediump float a_labelminzoom = label_data[0];\\n mediump vec2 a_zoom = unpack_float(a_data[3]);\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n float size;\\n // In order to accommodate placing labels around corners in\\n // symbol-placement: line, each glyph in a label could have multiple\\n // \"quad\"s only one of which should be shown at a given zoom level.\\n // The min/max zoom assigned to each quad is based on the font size at\\n // the vector tile\\'s zoom level, which might be different than at the\\n // currently rendered zoom level if text-size is zoom-dependent.\\n // Thus, we compensate for this difference by calculating an adjustment\\n // based on the scale of rendered text size relative to layout text size.\\n mediump float layoutSize;\\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n layoutSize = a_size[2] / 10.0;\\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n size = a_size[0] / 10.0;\\n layoutSize = size;\\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n size = u_size;\\n layoutSize = u_layout_size;\\n } else {\\n size = u_size;\\n layoutSize = u_size;\\n }\\n\\n float fontScale = u_is_text ? size / 24.0 : size;\\n\\n mediump float zoomAdjust = log2(size / layoutSize);\\n mediump float adjustedZoom = (u_zoom - zoomAdjust) * 10.0;\\n // result: z = 0 if a_minzoom <= adjustedZoom < a_maxzoom, and 1 otherwise\\n mediump float z = 2.0 - step(a_minzoom, adjustedZoom) - (1.0 - step(a_maxzoom, adjustedZoom));\\n\\n vec2 extrude = fontScale * u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n'},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform highp float u_gamma_scale;\\nuniform bool u_is_text;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\nvarying float v_size;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 fill_color\\n #pragma mapbox: initialize highp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n float fontScale = u_is_text ? v_size / 24.0 : v_size;\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\n\\n// contents of a_size vary based on the type of property value\\n// used for {text,icon}-size.\\n// For constants, a_size is disabled.\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\n// For composite functions:\\n// [ text-size(lowerZoomStop, feature),\\n// text-size(upperZoomStop, feature),\\n// layoutSize == text-size(layoutZoomLevel, feature) ]\\nattribute vec3 a_size;\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform mediump float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform mediump float u_size; // used when size is both zoom and feature constant\\nuniform mediump float u_layout_size; // used when size is feature constant\\n\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform bool u_is_text;\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\nvarying float v_size;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 fill_color\\n #pragma mapbox: initialize highp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_data.xy;\\n\\n mediump vec2 label_data = unpack_float(a_data[2]);\\n mediump float a_labelminzoom = label_data[0];\\n mediump float a_labelangle = label_data[1];\\n\\n mediump vec2 a_zoom = unpack_float(a_data[3]);\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // In order to accommodate placing labels around corners in\\n // symbol-placement: line, each glyph in a label could have multiple\\n // \\\"quad\\\"s only one of which should be shown at a given zoom level.\\n // The min/max zoom assigned to each quad is based on the font size at\\n // the vector tile's zoom level, which might be different than at the\\n // currently rendered zoom level if text-size is zoom-dependent.\\n // Thus, we compensate for this difference by calculating an adjustment\\n // based on the scale of rendered text size relative to layout text size.\\n mediump float layoutSize;\\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n v_size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n layoutSize = a_size[2] / 10.0;\\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n v_size = a_size[0] / 10.0;\\n layoutSize = v_size;\\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n v_size = u_size;\\n layoutSize = u_layout_size;\\n } else {\\n v_size = u_size;\\n layoutSize = u_size;\\n }\\n\\n float fontScale = u_is_text ? v_size / 24.0 : v_size;\\n\\n mediump float zoomAdjust = log2(v_size / layoutSize);\\n mediump float adjustedZoom = (u_zoom - zoomAdjust) * 10.0;\\n // result: z = 0 if a_minzoom <= adjustedZoom < a_maxzoom, and 1 otherwise\\n // Used below to move the vertex out of the clip space for when the current\\n // zoom is out of the glyph's zoom range.\\n mediump float z = 2.0 - step(a_minzoom, adjustedZoom) - (1.0 - step(a_maxzoom, adjustedZoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_labelangle / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = fontScale * u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_labelangle / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = fontScale * u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = fontScale * u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(_dereq_,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,s){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var o=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==s;!e.extVertexArrayObject||o?(this.freshBind(e,t,r,i,n,s),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,s){var o,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=s;else{o=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":203,\"../util/util\":215,\"../util/window\":197}],84:[function(_dereq_,module,exports){\n\"use strict\";var ajax=_dereq_(\"../util/ajax\"),rewind=_dereq_(\"geojson-rewind\"),GeoJSONWrapper=_dereq_(\"./geojson_wrapper\"),vtpbf=_dereq_(\"vt-pbf\"),supercluster=_dereq_(\"supercluster\"),geojsonvt=_dereq_(\"geojson-vt\"),VectorTileWorkerSource=_dereq_(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":194,\"./geojson_wrapper\":85,\"./vector_tile_worker_source\":98,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],85:[function(_dereq_,module,exports){\n\"use strict\";var Point=_dereq_(\"point-geometry\"),VectorTileFeature=_dereq_(\"vector-tile\").VectorTileFeature,EXTENT=_dereq_(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(this.used?this._source.coord?u=e.getVisibleWrappedCoordinates(this._source.coord):(u=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(u=u.filter(function(e){return o._source.hasTile(e)}))):u=[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTime=a.minX&&t.x=a.minY&&t.yi.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":203,\"../util/mapbox\":210,\"../util/util\":215,\"./load_tilejson\":87,\"./tile_bounds\":95}],98:[function(_dereq_,module,exports){\n\"use strict\";var ajax=_dereq_(\"../util/ajax\"),vt=_dereq_(\"vector-tile\"),Protobuf=_dereq_(\"pbf\"),WorkerTile=_dereq_(\"./worker_tile\"),util=_dereq_(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":194,\"../util/util\":215,\"./worker_tile\":101,\"pbf\":25,\"vector-tile\":34}],99:[function(_dereq_,module,exports){\n\"use strict\";var ajax=_dereq_(\"../util/ajax\"),ImageSource=_dereq_(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":194,\"./image_source\":86}],100:[function(_dereq_,module,exports){\n\"use strict\";var Actor=_dereq_(\"../util/actor\"),StyleLayerIndex=_dereq_(\"../style/style_layer_index\"),VectorTileWorkerSource=_dereq_(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=_dereq_(\"./geojson_worker_source\"),globalRTLTextPlugin=_dereq_(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":157,\"../util/actor\":193,\"./geojson_worker_source\":84,\"./rtl_text_plugin\":91,\"./vector_tile_worker_source\":98}],101:[function(_dereq_,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],106:[function(_dereq_,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],107:[function(_dereq_,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=findStopLessThanOrEqualTo(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=findStopLessThanOrEqualTo(t.stops,o),i=interpolationFactor(o,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],p=interpolate[e.type]||identityFunction;return\"function\"==typeof s?function(){var t=s.apply(void 0,arguments),e=u.apply(void 0,arguments);if(void 0!==t&&void 0!==e)return p(t,e,i)}:p(s,u,i)}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function findStopLessThanOrEqualTo(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e===o||e>o&&ee&&(i=s-1)}return Math.max(s-1,0)}function isFunctionDefinition(t){return\"object\"==typeof t&&(t.stops||\"identity\"===t.type)}function interpolationFactor(t,e,o,n){var r=n-o,a=t-o;return 1===e?a/r:(Math.pow(e,a)-1)/(Math.pow(e,r)-1)}var colorSpaces=_dereq_(\"./color_spaces\"),parseColor=_dereq_(\"../util/parse_color\"),extend=_dereq_(\"../util/extend\"),getType=_dereq_(\"../util/get_type\"),interpolate=_dereq_(\"../util/interpolate\");module.exports=createFunction,module.exports.isFunctionDefinition=isFunctionDefinition,module.exports.interpolationFactor=interpolationFactor,module.exports.findStopLessThanOrEqualTo=findStopLessThanOrEqualTo;\n},{\"../util/extend\":121,\"../util/get_type\":122,\"../util/interpolate\":123,\"../util/parse_color\":124,\"./color_spaces\":106}],108:[function(_dereq_,module,exports){\n\"use strict\";function key(r){return stringify(refProperties.map(function(e){return r[e]}))}function groupByLayout(r){for(var e={},t=0;t255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],110:[function(_dereq_,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],111:[function(_dereq_,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],115:[function(_dereq_,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],116:[function(_dereq_,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=_dereq_(\"lodash._baseisequal\"),bindCallback=_dereq_(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":111,\"lodash._bindcallback\":112}],117:[function(_dereq_,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],118:[function(_dereq_,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"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\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"maximum\":65535,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"maximum\":65535,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],121:[function(_dereq_,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":104,\"../util/extend\":121,\"../util/get_type\":122,\"./validate_array\":128,\"./validate_boolean\":129,\"./validate_color\":130,\"./validate_constants\":131,\"./validate_enum\":132,\"./validate_filter\":133,\"./validate_function\":134,\"./validate_layer\":136,\"./validate_light\":138,\"./validate_number\":139,\"./validate_object\":140,\"./validate_source\":143,\"./validate_string\":144}],128:[function(_dereq_,module,exports){\n\"use strict\";var getType=_dereq_(\"../util/get_type\"),validate=_dereq_(\"./validate\"),ValidationError=_dereq_(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":104,\"../util/get_type\":122}],132:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":104,\"../util/unbundle_jsonlint\":126}],133:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),validateEnum=_dereq_(\"./validate_enum\"),getType=_dereq_(\"../util/get_type\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":104,\"../util/get_type\":122,\"../util/unbundle_jsonlint\":126,\"./validate\":127,\"./validate_array\":128,\"./validate_number\":139,\"./validate_object\":140}],135:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),validateString=_dereq_(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":104,\"./validate_string\":144}],136:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\"),validateObject=_dereq_(\"./validate_object\"),validateFilter=_dereq_(\"./validate_filter\"),validatePaintProperty=_dereq_(\"./validate_paint_property\"),validateLayoutProperty=_dereq_(\"./validate_layout_property\"),extend=_dereq_(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":104,\"../util/get_type\":122}],140:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),getType=_dereq_(\"../util/get_type\"),validateSpec=_dereq_(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":104,\"../util/get_type\":122,\"./validate\":127}],141:[function(_dereq_,module,exports){\n\"use strict\";var validateProperty=_dereq_(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":142}],142:[function(_dereq_,module,exports){\n\"use strict\";var validate=_dereq_(\"./validate\"),ValidationError=_dereq_(\"../error/validation_error\"),getType=_dereq_(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":104,\"../util/get_type\":122,\"./validate\":127}],143:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\"),validateObject=_dereq_(\"./validate_object\"),validateEnum=_dereq_(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":104,\"../util/unbundle_jsonlint\":126,\"./validate_enum\":132,\"./validate_object\":140}],144:[function(_dereq_,module,exports){\n\"use strict\";var getType=_dereq_(\"../util/get_type\"),ValidationError=_dereq_(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":104,\"../util/get_type\":122}],145:[function(_dereq_,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=_dereq_(\"./validate/validate_constants\"),validate=_dereq_(\"./validate/validate\"),latestStyleSpec=_dereq_(\"./reference/latest\"),validateGlyphsURL=_dereq_(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(_dereq_(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(_dereq_(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(_dereq_(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(_dereq_(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(_dereq_(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(_dereq_(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":119,\"./validate/validate\":127,\"./validate/validate_constants\":131,\"./validate/validate_filter\":133,\"./validate/validate_glyphs_url\":135,\"./validate/validate_layer\":136,\"./validate/validate_layout_property\":137,\"./validate/validate_light\":138,\"./validate/validate_paint_property\":141,\"./validate/validate_source\":143}],146:[function(_dereq_,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],147:[function(_dereq_,module,exports){\n\"use strict\";var Evented=_dereq_(\"../util/evented\"),ajax=_dereq_(\"../util/ajax\"),browser=_dereq_(\"../util/browser\"),normalizeURL=_dereq_(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function e(e,i){var r=this;t.call(this),this.base=e,this.retina=browser.devicePixelRatio>1,this.setEventedParent(i);var a=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(e,a,\".json\"),function(t,e){return t?void r.fire(\"error\",{error:t}):(r.data=e,void(r.imgData&&r.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(e,a,\".png\"),function(t,e){return t?void r.fire(\"error\",{error:t}):(r.imgData=browser.getImageData(e),r.width=e.width,void(r.data&&r.fire(\"data\",{dataType:\"style\"})))})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toJSON=function(){return this.base},e.prototype.loaded=function(){return!(!this.data||!this.imgData)},e.prototype.resize=function(){var t=this;if(browser.devicePixelRatio>1!==this.retina){var i=new e(this.base);i.on(\"data\",function(){t.data=i.data,t.imgData=i.imgData,t.width=i.width,t.retina=i.retina})}},e.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var e=this.data&&this.data[t];return e&&this.imgData?e:new SpritePosition},e}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":194,\"../util/browser\":195,\"../util/evented\":203,\"../util/mapbox\":210}],148:[function(_dereq_,module,exports){\n\"use strict\";var styleSpec=_dereq_(\"../style-spec/reference/latest\"),util=_dereq_(\"../util/util\"),Evented=_dereq_(\"../util/evented\"),validateStyle=_dereq_(\"./validate_style\"),StyleDeclaration=_dereq_(\"./style_declaration\"),StyleTransition=_dereq_(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,o){for(var n=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return o;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((e-this.startTime-this.delay)/this.duration);return this.interp(a,o,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var e=t.zoom,o=this.zoomHistory.lastIntegerZoom,a=e>o?2:.5,n=this.declaration.calculate({zoom:e>o?e-1:e+1},i),r=this.declaration.calculate({zoom:e},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(e-o),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../style-spec/util/interpolate\":123,\"../util/util\":215}],159:[function(_dereq_,module,exports){\n\"use strict\";module.exports=_dereq_(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],162:[function(_dereq_,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=_dereq_(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],163:[function(_dereq_,module,exports){\n\"use strict\";var createStructArrayType=_dereq_(\"../util/struct_array\"),Point=_dereq_(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{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:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":213,\"point-geometry\":26}],164:[function(_dereq_,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],165:[function(_dereq_,module,exports){\n\"use strict\";var Point=_dereq_(\"point-geometry\"),EXTENT=_dereq_(\"../data/extent\"),Grid=_dereq_(\"grid-index\"),intersectionTests=_dereq_(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+h<=s){var M=new Anchor(k,q,A,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=y}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,c)),x}var interpolate=_dereq_(\"../style-spec/util/interpolate\"),Anchor=_dereq_(\"../symbol/anchor\"),checkMaxAngle=_dereq_(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../style-spec/util/interpolate\":123,\"../symbol/anchor\":160,\"./check_max_angle\":161}],167:[function(_dereq_,module,exports){\n\"use strict\";var ShelfPack=_dereq_(\"@mapbox/shelf-pack\"),util=_dereq_(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r=0^o,r=Math.abs(n),h=new Point(e.x,e.y),c=getSegmentEnd(l,a,i),g={anchor:h,end:c,index:i,minScale:getMinScaleForSegment(r,h,c),maxScale:1/0};;){if(insertSegmentGlyph(t,g,l,o),g.minScale<=e.scale)return e.scale;var u=getNextVirtualSegment(g,a,r,l);if(!u)return g.minScale;g=u}}function insertSegmentGlyph(t,e,n,a){var i=Math.atan2(e.end.y-e.anchor.y,e.end.x-e.anchor.x),o=n?i:i+Math.PI;t.push({anchorPoint:e.anchor,upsideDown:a,minScale:e.minScale,maxScale:e.maxScale,angle:(o+2*Math.PI)%(2*Math.PI)})}function getVirtualSegmentAnchor(t,e,n){var a=e.sub(t)._unit();return t.sub(a._mult(n))}function getMinScaleForSegment(t,e,n){var a=e.dist(n);return t/a}function getSegmentEnd(t,e,n){return t?e[n+1]:e[n]}function getNextVirtualSegment(t,e,n,a){for(var i=t.end,o=i,l=t.index;o.equals(i);){if(a&&l+21?2:1,this.dirty=!0}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.allocateImage=function(t,i){t/=this.pixelRatio,i/=this.pixelRatio;var e=2,r=t+e+(4-(t+e)%4),a=i+e+(4-(i+e)%4),h=this.shelfPack.packOne(r,a);return h?h:(util.warnOnce(\"SpriteAtlas out of space.\"),null)},i.prototype.addImage=function(t,i,e){var r,a,h;if(i instanceof window.HTMLImageElement?(r=i.width,a=i.height,i=browser.getImageData(i),h=1):(r=e.width,a=e.height,h=e.pixelRatio||1),ArrayBuffer.isView(i)&&(i=new Uint32Array(i.buffer)),!(i instanceof Uint32Array))return this.fire(\"error\",{error:new Error(\"Image provided in an invalid format. Supported formats are HTMLImageElement and ArrayBufferView.\")});if(this.images[t])return this.fire(\"error\",{error:new Error(\"An image with this name already exists.\")});var s=this.allocateImage(r,a);if(!s)return this.fire(\"error\",{error:new Error(\"There is not enough space to add this image.\")});var o={rect:s,width:r/h,height:a/h,sdf:!1,pixelRatio:h/this.pixelRatio};this.images[t]=o,this.copy(i,r,s,{pixelRatio:h,x:0,y:0,width:r,height:a},!1),this.fire(\"data\",{dataType:\"style\"})},i.prototype.removeImage=function(t){var i=this.images[t];return delete this.images[t],i?(this.shelfPack.unref(i.rect),void this.fire(\"data\",{dataType:\"style\"})):this.fire(\"error\",{error:new Error(\"No image with this name exists.\")})},i.prototype.getImage=function(t,i){if(this.images[t])return this.images[t];if(!this.sprite)return null;var e=this.sprite.getSpritePosition(t);if(!e.width||!e.height)return null;var r=this.allocateImage(e.width,e.height);if(!r)return null;var a={rect:r,width:e.width/e.pixelRatio,height:e.height/e.pixelRatio,sdf:e.sdf,pixelRatio:e.pixelRatio/this.pixelRatio};if(this.images[t]=a,!this.sprite.imgData)return null;var h=new Uint32Array(this.sprite.imgData.buffer);return this.copy(h,this.sprite.width,r,e,i),a},i.prototype.getPosition=function(t,i){var e=this.getImage(t,i),r=e&&e.rect;if(!r)return null;var a=e.width*e.pixelRatio,h=e.height*e.pixelRatio,s=1;return{size:[e.width,e.height],tl:[(r.x+s)/this.width,(r.y+s)/this.height],br:[(r.x+s+a)/this.width,(r.y+s+h)/this.height]}},i.prototype.allocate=function(){var t=this;if(!this.data){var i=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(i*e);for(var r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":202,\"./handler/box_zoom\":182,\"./handler/dblclick_zoom\":183,\"./handler/drag_pan\":184,\"./handler/drag_rotate\":185,\"./handler/keyboard\":186,\"./handler/scroll_zoom\":187,\"./handler/touch_zoom_rotate\":188,\"point-geometry\":26}],175:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"../util/util\"),interpolate=_dereq_(\"../style-spec/util/interpolate\"),browser=_dereq_(\"../util/browser\"),LngLat=_dereq_(\"../geo/lng_lat\"),LngLatBounds=_dereq_(\"../geo/lng_lat_bounds\"),Point=_dereq_(\"point-geometry\"),Evented=_dereq_(\"../util/evented\"),Camera=function(t){function e(e,i){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=i.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,i){return t=Point.convert(t).mult(-1),this.panTo(this.transform.center,util.extend({offset:t},e),i)},e.prototype.panTo=function(t,e,i){return this.easeTo(util.extend({center:t},e),i)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,i){return this.easeTo(util.extend({zoom:t},e),i)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,i){return this.easeTo(util.extend({bearing:t},e),i)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,util.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())e?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[e.padding.left-e.padding.right,e.padding.top-e.padding.bottom],r=Math.min(e.padding.right,e.padding.left),a=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+n[0],e.offset[1]+n[1]];var s=Point.convert(e.offset),h=this.transform,p=h.project(t.getNorthWest()),u=h.project(t.getSouthEast()),c=u.sub(p),f=(h.width-2*r-2*Math.abs(s.x))/c.x,m=(h.height-2*a-2*Math.abs(s.y))/c.y;return m<0||f<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(e.center=h.unproject(p.add(u).div(2)),e.zoom=Math.min(h.scaleZoom(h.scale*Math.min(f,m)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,i):this.flyTo(e,i))},e.prototype.jumpTo=function(t,e){this.stop();var i=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&i.zoom!==+t.zoom&&(o=!0,i.zoom=+t.zoom),\"center\"in t&&(i.center=LngLat.convert(t.center)),\"bearing\"in t&&i.bearing!==+t.bearing&&(n=!0,i.bearing=+t.bearing),\"pitch\"in t&&i.pitch!==+t.pitch&&(r=!0,i.pitch=+t.pitch),this.fire(\"movestart\",e).fire(\"move\",e),o&&this.fire(\"zoomstart\",e).fire(\"zoom\",e).fire(\"zoomend\",e),n&&this.fire(\"rotate\",e),r&&this.fire(\"pitchstart\",e).fire(\"pitch\",e).fire(\"pitchend\",e),this.fire(\"moveend\",e)},e.prototype.easeTo=function(t,e){var i=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t),t.animate===!1&&(t.duration=0),t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration));var o=this.transform,n=this.getZoom(),r=this.getBearing(),a=this.getPitch(),s=\"zoom\"in t?+t.zoom:n,h=\"bearing\"in t?this._normalizeBearing(t.bearing,r):r,p=\"pitch\"in t?+t.pitch:a,u=o.centerPoint.add(Point.convert(t.offset)),c=o.pointLocation(u),f=LngLat.convert(t.center||c);this._normalizeCenter(f);var m,g,d=o.project(c),l=o.project(f).sub(d),v=o.zoomScale(s-n);return t.around&&(m=LngLat.convert(t.around),g=o.locationPoint(m)),this.zooming=s!==n,this.rotating=r!==h,this.pitching=p!==a,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(this.zooming&&(o.zoom=interpolate(n,s,t)),this.rotating&&(o.bearing=interpolate(r,h,t)),this.pitching&&(o.pitch=interpolate(a,p,t)),m)o.setLocationAtPoint(m,g);else{var i=o.zoomScale(o.zoom-n),c=s>n?Math.min(2,v):Math.max(.5,v),f=Math.pow(c,1-t),b=o.unproject(d.add(l.mult(t*f)).mult(i));o.setLocationAtPoint(o.renderWorldCopies?b.wrap():b,u)}this._fireMoveEvents(e)},function(){t.delayEndEvents?i._onEaseEnd=setTimeout(function(){return i._easeToEnd(e)},t.delayEndEvents):i._easeToEnd(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\"movestart\",t),this.zooming&&this.fire(\"zoomstart\",t),this.pitching&&this.fire(\"pitchstart\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\"move\",t),this.zooming&&this.fire(\"zoom\",t),this.rotating&&this.fire(\"rotate\",t),this.pitching&&this.fire(\"pitch\",t)},e.prototype._easeToEnd=function(t){var e=this.zooming,i=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\"zoomend\",t),i&&this.fire(\"pitchend\",t),this.fire(\"moveend\",t)},e.prototype.flyTo=function(t,e){function i(t){var e=(M*M-z*z+(t?-1:1)*L*L*E*E)/(2*(t?M:z)*L*E);return Math.log(Math.sqrt(e*e+1)-e)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}var a=this;this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,h=this.getZoom(),p=this.getBearing(),u=this.getPitch(),c=\"zoom\"in t?+t.zoom:h,f=\"bearing\"in t?this._normalizeBearing(t.bearing,p):p,m=\"pitch\"in t?+t.pitch:u,g=s.zoomScale(c-h),d=s.centerPoint.add(Point.convert(t.offset)),l=s.pointLocation(d),v=LngLat.convert(t.center||l);this._normalizeCenter(v);var b=s.project(l),y=s.project(v).sub(b),_=t.curve,z=Math.max(s.width,s.height),M=z/g,E=y.mag();if(\"minZoom\"in t){var T=util.clamp(Math.min(t.minZoom,h,c),s.minZoom,s.maxZoom),x=z/s.zoomScale(T-h);_=Math.sqrt(x/E*2)}var L=_*_,j=i(0),w=function(t){return n(j)/n(j+_*t)},P=function(t){return z*((n(j)*r(j+_*t)-o(j))/L)/E},Z=(i(1)-j)/_;if(Math.abs(E)<1e-6){if(Math.abs(z-M)<1e-6)return this.easeTo(t,e);var q=M180?-360:i<-180?360:0}},e.prototype._smoothOutEasing=function(t){var e=util.ease;if(this._prevEase){var i=this._prevEase,o=(Date.now()-i.start)/i.duration,n=i.easing(o+.01)-i.easing(o),r=.27/Math.sqrt(n*n+1e-4)*.01,a=Math.sqrt(.0729-r*r);e=util.bezier(r,a,.25,1)}return this._prevEase={start:(new Date).getTime(),duration:t,easing:e},e},e}(Evented);module.exports=Camera;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../style-spec/util/interpolate\":123,\"../util/browser\":195,\"../util/evented\":203,\"../util/util\":215,\"point-geometry\":26}],176:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),AttributionControl=function(t){this.options=t,util.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};AttributionControl.prototype.getDefaultPosition=function(){return\"bottom-right\"},AttributionControl.prototype.onAdd=function(t){var i=this.options&&this.options.compact;return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),i&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===i&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},AttributionControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0},AttributionControl.prototype._updateEditLink=function(){if(this._editLink||(this._editLink=this._container.querySelector(\".mapboxgl-improve-map\")),this._editLink){var t=this._map.getCenter();this._editLink.href=\"https://www.mapbox.com/map-feedback/#/\"+t.lng+\"/\"+t.lat+\"/\"+Math.round(this._map.getZoom()+1)}},AttributionControl.prototype._updateData=function(t){t&&\"metadata\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},AttributionControl.prototype._updateAttributions=function(){if(this._map.style){var t=[],i=this._map.style.sourceCaches;for(var o in i){var n=i[o].getSource();n.attribution&&t.indexOf(n.attribution)<0&&t.push(n.attribution)}t.sort(function(t,i){return t.length-i.length}),t=t.filter(function(i,o){for(var n=o+1;n=0)return!1;return!0}),this._container.innerHTML=t.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"mapboxgl-compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":202,\"../../util/util\":215}],177:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",l=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),t=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return t.setAttribute(\"aria-label\",\"Toggle fullscreen\"),t.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),l},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(){var e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;if(e===this._mapContainer!==this._fullscreen){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],178:[function(_dereq_,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=_dereq_(\"../../util/evented\"),DOM=_dereq_(\"../../util/dom\"),window=_dereq_(\"../../util/window\"),util=_dereq_(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"mapboxgl-watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"mapboxgl-watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":202,\"../../util/evented\":203,\"../../util/util\":215,\"../../util/window\":197}],179:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":202,\"../../util/util\":215}],180:[function(_dereq_,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=_dereq_(\"../../util/dom\"),window=_dereq_(\"../../util/window\"),util=_dereq_(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],181:[function(_dereq_,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":202,\"../../util/util\":215}],182:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),LngLatBounds=_dereq_(\"../../geo/lng_lat_bounds\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),a=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=a-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],183:[function(_dereq_,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],184:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-drag-pan\"),this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-drag-pan\"),this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],185:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t),this._pitchWithRotate&&this._fireEvent(\"pitchstart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,_=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,_[1])]),e.transform.bearing=o,this._pitchWithRotate&&(this._fireEvent(\"pitch\",t),e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(u=inertiaMaxSpeed);var l=u/(inertiaDeceleration*inertiaLinearity),g=p*u*(l/2);_+=g,Math.abs(i._normalizeBearing(_,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],186:[function(_dereq_,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,a=0,n=0,r=0,i=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?a=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),i=-1);break;case 40:e.shiftKey?n=-1:(i=1,e.preventDefault());break;default:return}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+a*bearingStep,pitch:s.getPitch()+n*pitchStep,offset:[-r*panStep,-i*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],187:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),browser=_dereq_(\"../../util/browser\"),window=_dereq_(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":195,\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],188:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-zoom-rotate\"),this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\"),this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,l=Math.abs(r)>significantRotateThreshold;l?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var l=s*inertiaLinearity/h;Math.abs(l)>inertiaMaxSpeed&&(l=l>0?inertiaMaxSpeed:-inertiaMaxSpeed);var d=1e3*Math.abs(l/(inertiaDeceleration*inertiaLinearity)),c=a+l*d/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:d,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":202,\"../../util/util\":215,\"../../util/window\":197}],189:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"../util/util\"),window=_dereq_(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":215,\"../util/window\":197}],190:[function(_dereq_,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=_dereq_(\"../util/util\"),browser=_dereq_(\"../util/browser\"),window=_dereq_(\"../util/window\"),DOM=_dereq_(\"../util/dom\"),ajax=_dereq_(\"../util/ajax\"),Style=_dereq_(\"../style/style\"),AnimationLoop=_dereq_(\"../style/animation_loop\"),Painter=_dereq_(\"../render/painter\"),Transform=_dereq_(\"../geo/transform\"),Hash=_dereq_(\"./hash\"),bindHandlers=_dereq_(\"./bind_handlers\"),Camera=_dereq_(\"./camera\"),LngLat=_dereq_(\"../geo/lng_lat\"),LngLatBounds=_dereq_(\"../geo/lng_lat_bounds\"),Point=_dereq_(\"point-geometry\"),AttributionControl=_dereq_(\"./control/attribution_control\"),LogoControl=_dereq_(\"./control/logo_control\"),isSupported=_dereq_(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.on=function(e,o,i){var r=this;if(void 0===i)return t.prototype.on.call(this,e,o);var s=function(){if(\"mouseenter\"===e||\"mouseover\"===e){var t=!1,s=function(s){var n=r.queryRenderedFeatures(s.point,{layers:[o]});n.length?t||(t=!0,i.call(r,util.extend({features:n},s,{type:e}))):t=!1},n=function(){t=!1};return{layer:o,listener:i,delegates:{mousemove:s,mouseout:n}}}if(\"mouseleave\"===e||\"mouseout\"===e){var a=!1,h=function(t){var s=r.queryRenderedFeatures(t.point,{layers:[o]});s.length?a=!0:a&&(a=!1,i.call(r,util.extend({},t,{type:e})))},l=function(t){a&&(a=!1,i.call(r,util.extend({},t,{type:e})))};return{layer:o,listener:i,delegates:{mousemove:h,mouseout:l}}}var u=function(t){var e=r.queryRenderedFeatures(t.point,{layers:[o]});e.length&&i.call(r,util.extend({features:e},t))};return{layer:o,listener:i,delegates:(d={},d[e]=u,d)};var d}();this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(s);for(var n in s.delegates)r.on(n,s.delegates[n]);return this},e.prototype.off=function(e,o,i){var r=this;if(void 0===i)return t.prototype.off.call(this,e,o);if(this._delegatedListeners&&this._delegatedListeners[e])for(var s=this._delegatedListeners[e],n=0;nthis._map.transform.height-n?[\"bottom\"]:[],this._pos.xthis._map.transform.width-e/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var i=this._pos.add(o[t]).round(),r={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%)\"},s=this._container.classList;for(var p in r)s.remove(\"mapboxgl-popup-anchor-\"+p);s.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,r[t]+\" translate(\"+i.x+\"px,\"+i.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":202,\"../util/evented\":203,\"../util/smart_wrap\":212,\"../util/util\":215,\"../util/window\":197,\"point-geometry\":26}],193:[function(_dereq_,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],194:[function(_dereq_,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=_dereq_(\"./window\"),AJAXError=function(e){function t(t,r){e.call(this,t),this.status=r}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error);exports.getJSON=function(e,t){var r=new window.XMLHttpRequest;return r.open(\"GET\",e,!0),r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(e){t(e)},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var e;try{e=JSON.parse(r.response)}catch(e){return t(e)}t(null,e)}else t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getArrayBuffer=function(e,t){var r=new window.XMLHttpRequest;return r.open(\"GET\",e,!0),r.responseType=\"arraybuffer\",r.onerror=function(e){t(e)},r.onload=function(){return 0===r.response.byteLength&&200===r.status?t(new Error(\"http status 200 returned without content.\")):void(r.status>=200&&r.status<300&&r.response?t(null,{data:r.response,cacheControl:r.getResponseHeader(\"Cache-Control\"),expires:r.getResponseHeader(\"Expires\")}):t(new AJAXError(r.statusText,r.status)))},r.send(),r};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,r){if(e)return t(e);var n=new window.Image,o=window.URL||window.webkitURL;n.onload=function(){t(null,n),o.revokeObjectURL(n.src)};var s=new window.Blob([new Uint8Array(r.data)],{type:\"image/png\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?o.createObjectURL(s):transparentPngUrl})},exports.getVideo=function(e,t){var r=window.document.createElement(\"video\");r.onloadstart=function(){t(null,r)};for(var n=0;n=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0,e.width,e.height),t.getImageData(0,0,e.width,e.height).data},exports.supported=_dereq_(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":197,\"mapbox-gl-supported\":22}],196:[function(_dereq_,module,exports){\n\"use strict\";var WebWorkify=_dereq_(\"webworkify\"),window=_dereq_(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(_dereq_(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":100,\"../window\":197,\"webworkify\":41}],197:[function(_dereq_,module,exports){\n\"use strict\";module.exports=self;\n},{}],198:[function(_dereq_,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=_dereq_(\"quickselect\"),calculateSignedArea=_dereq_(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":215}],204:[function(_dereq_,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":207,\"point-geometry\":26,\"tinyqueue\":30}],205:[function(_dereq_,module,exports){\n\"use strict\";var WorkerPool=_dereq_(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":218}],206:[function(_dereq_,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],207:[function(_dereq_,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=_dereq_(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":215}],208:[function(_dereq_,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],209:[function(_dereq_,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],210:[function(_dereq_,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]*)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":195,\"./config\":199}],211:[function(_dereq_,module,exports){\n\"use strict\";var isChar=_dereq_(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":208}],212:[function(_dereq_,module,exports){\n\"use strict\";var LngLat=_dereq_(\"../geo/lng_lat\");module.exports=function(n,t,l){if(n=new LngLat(n.lng,n.lat),t){var a=new LngLat(n.lng-360,n.lat),i=new LngLat(n.lng+360,n.lat),o=l.locationPoint(n).distSqr(t);l.locationPoint(a).distSqr(t)180;){var e=l.locationPoint(n);if(e.x>=0&&e.y>=0&&e.x<=l.width&&e.y<=l.height)break;n.lng>l.center.lng?n.lng-=360:n.lng+=360}return n};\n},{\"../geo/lng_lat\":62}],213:[function(_dereq_,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],216:[function(_dereq_,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],217:[function(_dereq_,module,exports){\n\"use strict\";var scriptDetection=_dereq_(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":211}],218:[function(_dereq_,module,exports){\n\"use strict\";var WebWorker=_dereq_(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=_dereq_(\"../\").workerCount;for(this.workers=[];this.workers.length 3 && arguments[3] !== undefined ? arguments[3] : false; - - var input = document.createElement('input'); - input.setAttribute('id', option); - input.setAttribute('type', 'radio'); - input.setAttribute('name', 'toggle'); - input.setAttribute('value', option); - if (checked == true) { - input.setAttribute('checked', 'checked'); - } - input.addEventListener('click', function () { - map.setStyle('mapbox://styles/mapbox/' + option + '-v9'); - }); - var label = document.createElement('label'); - label.setAttribute('for', option); - label.appendChild(document.createTextNode(titlecase(option))); - menu.appendChild(input); - menu.appendChild(label); -}; - -var makeMapMenu = function makeMapMenu(map) { - var mapMenu = document.createElement('div'); - mapMenu.classList.add('map-menu'); - addMapTypeOption(map, mapMenu, 'streets', true); - addMapTypeOption(map, mapMenu, 'satellite-streets'); - return mapMenu; -}; - -//the main function -function addMap(div) { - var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var places = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - var dataLatitude = div.dataset.latitude; - var dataLongitude = div.dataset.longitude; - var dataId = div.dataset.id; - var data = window['geojson' + dataId]; - if (data == null) { - data = { - 'type': 'FeatureCollection', - 'features': [{ - 'type': 'Feature', - 'geometry': { - 'type': 'Point', - 'coordinates': [dataLongitude, dataLatitude] - }, - 'properties': { - 'title': 'Current Location', - 'icon': 'circle-stroked', - 'uri': 'current-location' - } - }] - }; - } - if (places != null) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = places[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var place = _step.value; - - var placeLongitude = (0, _parseLocation2.default)(place.location).longitude; - var placeLatitude = (0, _parseLocation2.default)(place.location).latitude; - data.features.push({ - 'type': 'Feature', - 'geometry': { - 'type': 'Point', - 'coordinates': [placeLongitude, placeLatitude] - }, - 'properties': { - 'title': place.name, - 'icon': 'circle', - 'uri': place.slug - } - }); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - if (position != null) { - dataLongitude = position.coords.longitude; - dataLatitude = position.coords.latitude; - } - var map = new _mapboxGl2.default.Map({ - container: div, - style: 'mapbox://styles/mapbox/streets-v9', - center: [dataLongitude, dataLatitude], - zoom: 15 - }); - if (position == null) { - map.scrollZoom.disable(); - } - map.addControl(new _mapboxGl2.default.NavigationControl()); - div.appendChild(makeMapMenu(map)); - map.on('load', function () { - map.addSource('points', { - 'type': 'geojson', - 'data': data - }); - map.addLayer({ - 'id': 'points', - 'interactive': true, - 'type': 'symbol', - 'source': 'points', - 'layout': { - 'icon-image': '{icon}-15', - 'text-field': '{title}', - 'text-offset': [0, 1] - } - }); - }); - if (position != null) { - map.on('click', function (e) { - var features = map.queryRenderedFeatures(e.point, { - layer: ['points'] - }); - // if there are features within the given radius of the click event, - // fly to the location of the click event - if (features.length) { - // Get coordinates from the symbol and center the map on those coordinates - map.flyTo({ center: features[0].geometry.coordinates }); - (0, _selectPlace2.default)(features[0].properties.uri); - } - }); - } - if (data.features && data.features.length > 1) { - var bounds = new _mapboxGl2.default.LngLatBounds(); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = data.features[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var feature = _step2.value; - - bounds.extend(feature.geometry.coordinates); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - map.fitBounds(bounds, { padding: 65 }); - } - - return map; -} - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";function t(){var t={parent:document.body,version:"1.0.12",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)}),l&&l.addEventListener("keyup",function(t){13===t.which&&i.click()})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else true?!(__WEBPACK_AMD_DEFINE_RESULT__ = function(){return new t}.call(exports, __webpack_require__, exports, module), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):window.alertify=new t}(); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(21)(module))) - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = selectPlaceInForm; -//select-place.js - -function selectPlaceInForm(uri) { - if (document.querySelector('select')) { - if (uri == 'current-location') { - document.querySelector('select [id="option-coords"]').selected = true; - } else { - document.querySelector('select [value="' + uri + '"]').selected = true; - } - } -} - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray - -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array - -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} - -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 - -function placeHoldersCount (b64) { - var len = b64.length - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0 -} - -function byteLength (b64) { - // base64 is 4/3 + up to two characters of the original data - return b64.length * 3 / 4 - placeHoldersCount(b64) -} - -function toByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - var len = b64.length - placeHolders = placeHoldersCount(b64) - - arr = new Arr(len * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? len - 4 : len - - var L = 0 - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] - arr[L++] = (tmp >> 16) & 0xFF - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF - } - - if (placeHolders === 2) { - tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[L++] = tmp & 0xFF - } else if (placeHolders === 1) { - tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var output = '' - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - output += lookup[tmp >> 2] - output += lookup[(tmp << 4) & 0x3F] - output += '==' - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + (uint8[len - 1]) - output += lookup[tmp >> 10] - output += lookup[(tmp >> 4) & 0x3F] - output += lookup[(tmp << 2) & 0x3F] - output += '=' - } - - parts.push(output) - - return parts.join('') -} - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - - - -var base64 = __webpack_require__(5) -var ieee754 = __webpack_require__(8) -var isArray = __webpack_require__(7) - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ -Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined - ? global.TYPED_ARRAY_SUPPORT - : typedArraySupport() - -/* - * Export kMaxLength after typed array support is determined. - */ -exports.kMaxLength = kMaxLength() - -function typedArraySupport () { - try { - var arr = new Uint8Array(1) - arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} - return arr.foo() === 42 && // typed array instances can be augmented - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` - } catch (e) { - return false - } -} - -function kMaxLength () { - return Buffer.TYPED_ARRAY_SUPPORT - ? 0x7fffffff - : 0x3fffffff -} - -function createBuffer (that, length) { - if (kMaxLength() < length) { - throw new RangeError('Invalid typed array length') - } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = new Uint8Array(length) - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - if (that === null) { - that = new Buffer(length) - } - that.length = length - } - - return that -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer (arg, encodingOrOffset, length) { - if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { - return new Buffer(arg, encodingOrOffset, length) - } - - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error( - 'If encoding is specified then the first argument must be a string' - ) - } - return allocUnsafe(this, arg) - } - return from(this, arg, encodingOrOffset, length) -} - -Buffer.poolSize = 8192 // not used by this implementation - -// TODO: Legacy, not needed anymore. Remove in next major version. -Buffer._augment = function (arr) { - arr.__proto__ = Buffer.prototype - return arr -} - -function from (that, value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number') - } - - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - return fromArrayBuffer(that, value, encodingOrOffset, length) - } - - if (typeof value === 'string') { - return fromString(that, value, encodingOrOffset) - } - - return fromObject(that, value) -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(null, value, encodingOrOffset, length) -} - -if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype - Buffer.__proto__ = Uint8Array - if (typeof Symbol !== 'undefined' && Symbol.species && - Buffer[Symbol.species] === Buffer) { - // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true - }) - } -} - -function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number') - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative') - } -} - -function alloc (that, size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(that, size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(that, size).fill(fill, encoding) - : createBuffer(that, size).fill(fill) - } - return createBuffer(that, size) -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(null, size, fill, encoding) -} - -function allocUnsafe (that, size) { - assertSize(size) - that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < size; ++i) { - that[i] = 0 - } - } - return that -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(null, size) -} -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(null, size) -} - -function fromString (that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding') - } - - var length = byteLength(string, encoding) | 0 - that = createBuffer(that, length) - - var actual = that.write(string, encoding) - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - that = that.slice(0, actual) - } - - return that -} - -function fromArrayLike (that, array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - that = createBuffer(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -function fromArrayBuffer (that, array, byteOffset, length) { - array.byteLength // this throws if `array` is not a valid ArrayBuffer - - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds') - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds') - } - - if (byteOffset === undefined && length === undefined) { - array = new Uint8Array(array) - } else if (length === undefined) { - array = new Uint8Array(array, byteOffset) - } else { - array = new Uint8Array(array, byteOffset, length) - } - - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = array - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - that = fromArrayLike(that, array) - } - return that -} - -function fromObject (that, obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - that = createBuffer(that, len) - - if (that.length === 0) { - return that - } - - obj.copy(that, 0, 0, len) - return that - } - - if (obj) { - if ((typeof ArrayBuffer !== 'undefined' && - obj.buffer instanceof ArrayBuffer) || 'length' in obj) { - if (typeof obj.length !== 'number' || isnan(obj.length)) { - return createBuffer(that, 0) - } - return fromArrayLike(that, obj) - } - - if (obj.type === 'Buffer' && isArray(obj.data)) { - return fromArrayLike(that, obj.data) - } - } - - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') -} - -function checked (length) { - // Note: cannot use `length < kMaxLength()` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + kMaxLength().toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (length) { - if (+length != length) { // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) -} - -Buffer.isBuffer = function isBuffer (b) { - return !!(b != null && b._isBuffer) -} - -Buffer.compare = function compare (a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - - if (list.length === 0) { - return Buffer.alloc(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } - - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer -} - -function byteLength (string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && - (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - string = '' + string - } - - var len = string.length - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -function slowToString (encoding, start, end) { - var loweredCase = false - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } - - if (end === undefined || end > this.length) { - end = this.length - } - - if (end <= 0) { - return '' - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 - - if (end <= start) { - return '' - } - - if (!encoding) encoding = 'utf8' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect -// Buffer instances. -Buffer.prototype._isBuffer = true - -function swap (b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i -} - -Buffer.prototype.swap16 = function swap16 () { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this -} - -Buffer.prototype.swap32 = function swap32 () { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this -} - -Buffer.prototype.swap64 = function swap64 () { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this -} - -Buffer.prototype.toString = function toString () { - var length = this.length | 0 - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) str += ' ... ' - } - return '' -} - -Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (!Buffer.isBuffer(target)) { - throw new TypeError('Argument must be a Buffer') - } - - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } - - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } - - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 - - if (this === target) return 0 - - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) - - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset // Coerce to Number. - if (isNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) byteOffset = 0 - else return -1 - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF // Search for a byte value [0-255] - if (Buffer.TYPED_ARRAY_SUPPORT && - typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) - } - - throw new TypeError('val must be string, number or Buffer') -} - -function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } - - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } - - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break - } - } - if (found) return i - } - } - - return -1 -} - -Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) -} - -Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (isNaN(parsed)) return i - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0 - if (isFinite(length)) { - length = length | 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function latin1Slice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; ++i) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = this.subarray(start, end) - newBuf.__proto__ = Buffer.prototype - } else { - var sliceLen = end - start - newBuf = new Buffer(sliceLen, undefined) - for (var i = 0; i < sliceLen; ++i) { - newBuf[i] = this[i + start] - } - } - - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - this[offset] = (value & 0xff) - return offset + 1 -} - -function objectWriteUInt16 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> - (littleEndian ? i : 1 - i) * 8 - } -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -function objectWriteUInt32 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff - } -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, start + len), - targetStart - ) - } - - return len -} - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if (code < 256) { - val = code - } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - } else if (typeof val === 'number') { - val = val & 255 - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } - - if (end <= start) { - return this - } - - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 - - if (!val) val = 0 - - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } - } else { - var bytes = Buffer.isBuffer(val) - ? val - : utf8ToBytes(new Buffer(val, encoding).toString()) - var len = bytes.length - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } - - return this -} - -// HELPER FUNCTIONS -// ================ - -var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function stringtrim (str) { - if (str.trim) return str.trim() - return str.replace(/^\s+|\s+$/g, '') -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -function isnan (val) { - return val !== val // eslint-disable-line no-self-compare -} - -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 7 */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; - - -/***/ }), -/* 8 */ -/***/ (function(module, exports) { - -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global, Buffer) {var require;var require;(function(f){if(true){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}); -},{}],3:[function(require,module,exports){ -function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){"undefined"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}; -},{}],4:[function(require,module,exports){ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})}); -},{}],5:[function(require,module,exports){ -"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}; -},{}],6:[function(require,module,exports){ -function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require("geojson-area");module.exports=rewind; -},{"geojson-area":6}],8:[function(require,module,exports){ -"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require("./feature"); -},{"./feature":10}],9:[function(require,module,exports){ -"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify; -},{}],13:[function(require,module,exports){ -"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; -},{}],18:[function(require,module,exports){ -"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range; -},{}],20:[function(require,module,exports){ -"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD; -},{}],21:[function(require,module,exports){ -"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within; -},{}],22:[function(require,module,exports){ -"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}"undefined"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}; -},{}],23:[function(require,module,exports){ -(function (process){ -function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),r||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require("ieee754"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.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?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(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(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}; -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"./buffer":24}],26:[function(require,module,exports){ -"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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 n=t.x-this.x,i=t.y-this.y;return n*n+i*i},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,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,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},_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 n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}; -},{}],27:[function(require,module,exports){ -function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort; -},{}],29:[function(require,module,exports){ -"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}; -},{"./vectortilefeature.js":36}],38:[function(require,module,exports){ -function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup; -},{"./program_configuration":58}],45:[function(require,module,exports){ -"use strict";var ArrayGroup=require("./array_group"),BufferGroup=require("./buffer_group"),util=require("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket; -},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60}],47:[function(require,module,exports){ -"use strict";var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}]),paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){"bevel"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?"butt":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&"round"===F&&(Ia&&(F="bevel"),"bevel"===F&&(I>2&&(F="flipbevel"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if("bevel"===F||"fakeround"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),"fakeround"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else"butt"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):"square"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):"round"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket; -},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"vector-tile":34}],50:[function(require,module,exports){ -"use strict";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require("point-geometry"),ArrayGroup=require("../array_group"),BufferGroup=require("../buffer_group"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),EXTENT=require("../extent"),Anchor=require("../../symbol/anchor"),getAnchors=require("../../symbol/get_anchors"),resolveTokens=require("../../util/token"),Quads=require("../../symbol/quads"),Shaping=require("../../symbol/shaping"),resolveText=require("../../symbol/resolve_text"),mergeLines=require("../../symbol/mergelines"),clipLine=require("../../symbol/clip_line"),util=require("../../util/util"),scriptDetection=require("../../util/script_detection"),loadGeometry=require("../load_geometry"),CollisionFeature=require("../../symbol/collision_feature"),findPoleOfInaccessibility=require("../../util/find_pole_of_inaccessibility"),classifyRings=require("../../util/classify_rings"),VectorTileFeature=require("vector-tile").VectorTileFeature,rtlTextPlugin=require("../../source/rtl_text_plugin"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_texture_pos",components:2,type:"Uint16"},{name:"a_data",components:4,type:"Uint8"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"text-color",type:"Uint8"},{name:"a_halo_color",property:"text-halo-color",type:"Uint8"},{name:"a_halo_width",property:"text-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"text-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"text-opacity",type:"Uint8",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"icon-color",type:"Uint8"},{name:"a_halo_color",property:"icon-halo-color",type:"Uint8"},{name:"a_halo_width",property:"icon-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"icon-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"icon-opacity",type:"Uint8",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a["text-font"],n=a["icon-image"],l=i&&(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if("line"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket; -},{"../../source/rtl_text_plugin":90,"../../symbol/anchor":157,"../../symbol/clip_line":159,"../../symbol/collision_feature":161,"../../symbol/get_anchors":163,"../../symbol/mergelines":166,"../../symbol/quads":167,"../../symbol/resolve_text":168,"../../symbol/shaping":169,"../../util/classify_rings":195,"../../util/find_pole_of_inaccessibility":201,"../../util/script_detection":209,"../../util/token":211,"../../util/util":212,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"point-geometry":26,"vector-tile":34}],51:[function(require,module,exports){ -"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}; -},{"../util/util":212,"./extent":54}],57:[function(require,module,exports){ -"use strict";var createStructArrayType=require("../util/struct_array"),PosArray=createStructArrayType({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray; -},{"../util/struct_array":210}],58:[function(require,module,exports){ -"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require("./vertex_array_type"),util=require("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty("lng")&&t.hasOwnProperty("lat"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat; -},{"../util/util":212}],63:[function(require,module,exports){ -"use strict";var LngLat=require("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds; -},{"./lng_lat":62}],64:[function(require,module,exports){ -"use strict";var LngLat=require("./lng_lat"),Point=require("point-geometry"),Coordinate=require("./coordinate"),util=require("../util/util"),interp=require("../util/interpolate"),TileCoord=require("../source/tile_coord"),EXTENT=require("../data/extent"),glmatrix=require("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform; -},{"../data/extent":54,"../source/tile_coord":94,"../util/interpolate":204,"../util/util":212,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(require,module,exports){ -"use strict";var browser=require("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=require("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require("./ui/map"),mapboxgl.NavigationControl=require("./ui/control/navigation_control"),mapboxgl.GeolocateControl=require("./ui/control/geolocate_control"),mapboxgl.AttributionControl=require("./ui/control/attribution_control"),mapboxgl.ScaleControl=require("./ui/control/scale_control"),mapboxgl.FullscreenControl=require("./ui/control/fullscreen_control"),mapboxgl.Popup=require("./ui/popup"),mapboxgl.Marker=require("./ui/marker"),mapboxgl.Style=require("./style/style"),mapboxgl.LngLat=require("./geo/lng_lat"),mapboxgl.LngLatBounds=require("./geo/lng_lat_bounds"),mapboxgl.Point=require("point-geometry"),mapboxgl.Evented=require("./util/evented"),mapboxgl.supported=require("./util/browser").supported;var config=require("./util/config");mapboxgl.config=config;var rtlTextPlugin=require("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}}); -},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":90,"./style/style":146,"./ui/control/attribution_control":173,"./ui/control/fullscreen_control":174,"./ui/control/geolocate_control":175,"./ui/control/navigation_control":177,"./ui/control/scale_control":178,"./ui/map":187,"./ui/marker":188,"./ui/popup":189,"./util/browser":192,"./util/config":196,"./util/evented":200,"point-geometry":26}],66:[function(require,module,exports){ -"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}; -},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":192,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(require,module,exports){ -"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require("../util/util");module.exports=drawRaster; -},{"../util/util":212}],74:[function(require,module,exports){ -"use strict";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout["text-allow-overlap"]||a.layout["icon-allow-overlap"]||a.layout["text-ignore-placement"]||a.layout["icon-ignore-placement"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint["icon-translate"],a.paint["icon-translate-anchor"],a.layout["icon-rotation-alignment"],a.layout["icon-rotation-alignment"],a.layout["icon-size"]),drawLayerSymbols(e,t,a,i,!0,a.paint["text-translate"],a.paint["text-translate-anchor"],a.layout["text-rotation-alignment"],a.layout["text-pitch-alignment"],a.layout["text-size"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m="map"===l,p="map"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory; -},{}],76:[function(require,module,exports){ -"use strict";var util=require("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}; -},{"../source/pixels_to_tile_units":87}],79:[function(require,module,exports){ -"use strict";var path=require("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n float r = floor(encodedColor[0]/256.0)/255.0;\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\n float b = floor(encodedColor[1]/256.0)/255.0;\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\n return vec4(r, g, b, a);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform lowp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n 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, pos);\n 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, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform int u_xdim;\nuniform int u_ydim;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos.x = a_pos.x / float(u_xdim);\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\n}\n"},line:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n" -},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_font_scale;\nuniform highp float u_gamma_scale;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}; -},{"path":23}],80:[function(require,module,exports){ -"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource; -},{"../data/extent":54,"../util/evented":200,"../util/util":212,"../util/window":194}],83:[function(require,module,exports){ -"use strict";var ajax=require("../util/ajax"),rewind=require("geojson-rewind"),GeoJSONWrapper=require("./geojson_wrapper"),vtpbf=require("vt-pbf"),supercluster=require("supercluster"),geojsonvt=require("geojson-vt"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource; -},{"../util/ajax":191,"./geojson_wrapper":84,"./vector_tile_worker_source":96,"geojson-rewind":7,"geojson-vt":11,"supercluster":29,"vt-pbf":38}],84:[function(require,module,exports){ -"use strict";var Point=require("point-geometry"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTENT=require("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource; -},{"../util/evented":200,"../util/mapbox":208,"../util/util":212,"./load_tilejson":86}],96:[function(require,module,exports){ -"use strict";var ajax=require("../util/ajax"),vt=require("vector-tile"),Protobuf=require("pbf"),WorkerTile=require("./worker_tile"),util=require("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource; -},{"../util/ajax":191,"../util/util":212,"./worker_tile":99,"pbf":25,"vector-tile":34}],97:[function(require,module,exports){ -"use strict";var ajax=require("../util/ajax"),ImageSource=require("./image_source"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource; -},{"../util/ajax":191,"./image_source":85}],98:[function(require,module,exports){ -"use strict";var Actor=require("../util/actor"),StyleLayerIndex=require("../style/style_layer_index"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=require("./geojson_worker_source"),globalRTLTextPlugin=require("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}; -},{"../style/style_layer_index":154,"../util/actor":190,"./geojson_worker_source":83,"./rtl_text_plugin":90,"./vector_tile_worker_source":96}],99:[function(require,module,exports){ -"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true";return"("+n+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]; -},{}],104:[function(require,module,exports){ -"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}; -},{}],105:[function(require,module,exports){ -"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return"function"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){} -},{}],108:[function(require,module,exports){ -function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(n=objKeys(r).sort(),t=n.length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace; -},{}],109:[function(require,module,exports){ -function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments; -},{}],113:[function(require,module,exports){ -function isObjectLike(t){return!!t&&"object"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray; -},{}],114:[function(require,module,exports){ -function isEqual(a,l,i,e){i="function"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");module.exports=isEqual; -},{"lodash._baseisequal":109,"lodash._bindcallback":110}],115:[function(require,module,exports){ -function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray; -},{}],116:[function(require,module,exports){ -function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"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":false}},"function_stop":{"type":"array","minimum":0,"maximum":22,"value":["number","color"],"length":2},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"transition":false},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"function":"interpolated","zoom-function":true,"property-function":false},"color":{"type":"color","default":"#ffffff","function":"interpolated","zoom-function":true,"property-function":false,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":false,"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],"paint_fill":{"fill-antialias":{"type":"boolean","function":"piecewise-constant","zoom-function":true,"default":true},"fill-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"}]},"fill-outline-color":{"type":"color","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}]},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"]},"fill-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":false,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-extrusion-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-extrusion-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"]},"fill-extrusion-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"fill-extrusion-height":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true},"fill-extrusion-base":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"]}},"paint_line":{"line-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"line-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"line-pattern"}]},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"]},"line-width":{"type":"number","default":1,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-gap-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-offset":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-dasharray":{"type":"array","value":"number","function":"piecewise-constant","zoom-function":true,"minimum":0,"transition":true,"units":"line widths","requires":[{"!":"line-pattern"}]},"line-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-blur":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"circle-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"]},"circle-pitch-scale":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-stroke-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"]},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"]}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-hue-rotate":{"type":"number","default":0,"period":360,"function":"interpolated","zoom-function":true,"transition":true,"units":"degrees"},"raster-brightness-min":{"type":"number","function":"interpolated","zoom-function":true,"default":0,"minimum":0,"maximum":1,"transition":true},"raster-brightness-max":{"type":"number","function":"interpolated","zoom-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"milliseconds"}},"paint_background":{"background-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"transition":true,"requires":[{"!":"background-pattern"}]},"background-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}}} -},{}],119:[function(require,module,exports){ -"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}; -},{"../error/validation_error":102,"../util/extend":119,"../util/get_type":120,"./validate_array":125,"./validate_boolean":126,"./validate_color":127,"./validate_constants":128,"./validate_enum":129,"./validate_filter":130,"./validate_function":131,"./validate_layer":133,"./validate_light":135,"./validate_number":136,"./validate_object":137,"./validate_source":140,"./validate_string":141}],125:[function(require,module,exports){ -"use strict";var getType=require("../util/get_type"),validate=require("./validate"),ValidationError=require("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}; -},{"../error/validation_error":102,"../util/get_type":120}],129:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}; -},{"../error/validation_error":102,"../util/unbundle_jsonlint":123}],130:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),validateEnum=require("./validate_enum"),getType=require("../util/get_type"),unbundle=require("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&(t=getType(a[1]),"string"!==t&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found";return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}; -},{"../error/validation_error":102,"../util/get_type":120,"../util/unbundle_jsonlint":123,"./validate":124,"./validate_array":125,"./validate_number":136,"./validate_object":137}],132:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),validateString=require("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf("{fontstack}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}; -},{"../error/validation_error":102,"./validate_string":141}],133:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateFilter=require("./validate_filter"),validatePaintProperty=require("./validate_paint_property"),validateLayoutProperty=require("./validate_layout_property"),extend=require("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}; -},{"../error/validation_error":102,"../util/get_type":120}],137:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),getType=require("../util/get_type"),validateSpec=require("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}; -},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],138:[function(require,module,exports){ -"use strict";var validateProperty=require("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}; -},{"./validate_property":139}],139:[function(require,module,exports){ -"use strict";var validate=require("./validate"),ValidationError=require("../error/validation_error"),getType=require("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}; -},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],140:[function(require,module,exports){ -"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateEnum=require("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var u=unbundle(a.type),i=[];switch(u){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}; -},{"../error/validation_error":102,"../util/unbundle_jsonlint":123,"./validate_enum":129,"./validate_object":137}],141:[function(require,module,exports){ -"use strict";var getType=require("../util/get_type"),ValidationError=require("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}; -},{"../error/validation_error":102,"../util/get_type":120}],142:[function(require,module,exports){ -"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require("./validate/validate_constants"),validate=require("./validate/validate"),latestStyleSpec=require("./reference/latest"),validateGlyphsURL=require("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(require("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(require("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(require("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(require("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(require("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(require("./validate/validate_layout_property")),module.exports=validateStyleMin; -},{"./reference/latest":117,"./validate/validate":124,"./validate/validate_constants":128,"./validate/validate_filter":130,"./validate/validate_glyphs_url":132,"./validate/validate_layer":133,"./validate/validate_layout_property":134,"./validate/validate_light":135,"./validate/validate_paint_property":138,"./validate/validate_source":140}],143:[function(require,module,exports){ -"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop; -},{}],144:[function(require,module,exports){ -"use strict";var Evented=require("../util/evented"),ajax=require("../util/ajax"),browser=require("../util/browser"),normalizeURL=require("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?"@2x":"";ajax.getJSON(normalizeURL(i,r,".json"),function(t,i){return t?void a.fire("error",{error:t}):(a.data=i,void(a.imgData&&a.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(i,r,".png"),function(t,i){if(t)return void a.fire("error",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on("data",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite; -},{"../util/ajax":191,"../util/browser":192,"../util/evented":200,"../util/mapbox":208}],145:[function(require,module,exports){ -"use strict";var styleSpec=require("../style-spec/reference/latest"),util=require("../util/util"),Evented=require("../util/evented"),validateStyle=require("./validate_style"),StyleDeclaration=require("./style_declaration"),StyleTransition=require("./style_transition"),TRANSITION_SUFFIX="-transition",Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");var o=["vector","raster","geojson","video","image","canvas"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition; -},{"../util/interpolate":204,"../util/util":212}],156:[function(require,module,exports){ -"use strict";module.exports=require("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;f
r;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle; -},{}],159:[function(require,module,exports){ -"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require("point-geometry");module.exports=clipLine; -},{"point-geometry":26}],160:[function(require,module,exports){ -"use strict";var createStructArrayType=require("../util/struct_array"),Point=require("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{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:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray; -},{"../util/struct_array":210,"point-geometry":26}],161:[function(require,module,exports){ -"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature; -},{}],162:[function(require,module,exports){ -"use strict";var Point=require("point-geometry"),EXTENT=require("../data/extent"),Grid=require("grid-index"),intersectionTests=require("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require("../util/interpolate"),Anchor=require("../symbol/anchor"),checkMaxAngle=require("./check_max_angle");module.exports=getAnchors; -},{"../symbol/anchor":157,"../util/interpolate":204,"./check_max_angle":158}],164:[function(require,module,exports){ -"use strict";var ShelfPack=require("@mapbox/shelf-pack"),util=require("../util/util"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+"-"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}; -},{"../util/dom":199,"./handler/box_zoom":179,"./handler/dblclick_zoom":180,"./handler/drag_pan":181,"./handler/drag_rotate":182,"./handler/keyboard":183,"./handler/scroll_zoom":184,"./handler/touch_zoom_rotate":185,"point-geometry":26}],172:[function(require,module,exports){ -"use strict";var util=require("../util/util"),interpolate=require("../util/interpolate"),browser=require("../util/browser"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),Evented=require("../util/evented"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),["bottom","left","right","top"]))return void util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),"center"in t&&(e.center=LngLat.convert(t.center)),"bearing"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),"pitch"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire("movestart",i).fire("move",i),o&&this.fire("zoomstart",i).fire("zoom",i).fire("zoomend",i),n&&this.fire("rotate",i),r&&this.fire("pitch",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p="zoom"in t?+t.zoom:a,c="bearing"in t?this._normalizeBearing(t.bearing,h):h,g="pitch"in t?+t.pitch:u;"center"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):"around"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire("movestart",i)),this.zooming&&this.fire("zoomstart",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire("move",i),this.zooming&&this.fire("zoom",i),this.rotating&&this.fire("rotate",i),this.pitching&&this.fire("pitch",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c="center"in t?LngLat.convert(t.center):this.getCenter(),g="zoom"in t?+t.zoom:h,m="bearing"in t?this._normalizeBearing(t.bearing,u):u,f="pitch"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v="center"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if("minZoom"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("compact")},module.exports=AttributionControl; -},{"../../util/dom":199,"../../util/util":212}],174:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",t=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),l=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return l.setAttribute("aria-label","Toggle fullscreen"),l.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],175:[function(require,module,exports){ -"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require("../../util/evented"),DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className="mapboxgl-ctrl",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button",className+"-icon "+className+"-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl; -},{"../../util/dom":199,"../../util/evented":200,"../../util/util":212,"../../util/window":194}],176:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl; -},{"../../util/dom":199,"../../util/util":212}],177:[function(require,module,exports){ -"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass),this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],178:[function(require,module,exports){ -"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,"mi")}else setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require("../../util/dom"),util=require("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl; -},{"../../util/dom":199,"../../util/util":212}],179:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),LngLatBounds=require("../../geo/lng_lat_bounds"),util=require("../../util/util"),window=require("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=r-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler; -},{"../../geo/lng_lat_bounds":63,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],180:[function(require,module,exports){ -"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler; -},{}],181:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return"mousemove"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],182:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],183:[function(require,module,exports){ -"use strict";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler; -},{}],184:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),browser=require("../../util/browser"),window=require("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf("firefox")!==-1,safari=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler; -},{"../../util/browser":192,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],185:[function(require,module,exports){ -"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler; -},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],186:[function(require,module,exports){ -"use strict";var util=require("../util/util"),window=require("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash; -},{"../util/util":212,"../util/window":194}],187:[function(require,module,exports){ -"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require("../util/util"),browser=require("../util/browser"),window=require("../util/window"),DOM=require("../util/dom"),Style=require("../style/style"),AnimationLoop=require("../style/animation_loop"),Painter=require("../render/painter"),Transform=require("../geo/transform"),Hash=require("./hash"),bindHandlers=require("./bind_handlers"),Camera=require("./camera"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),AttributionControl=require("./control/attribution_control"),LogoControl=require("./control/logo_control"),isSupported=require("mapbox-gl-supported"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),"undefined"!=typeof window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf("bottom")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||"number"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&"string"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off("rotate",this.style._redoPlacement),this.off("pitch",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on("rotate",this.style._redoPlacement),this.on("pitch",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire("error",{error:new Error("There is no source with ID '"+t+"'")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map");var e=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=DOM.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",0),this._canvas.setAttribute("aria-label","Map");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create("div","mapboxgl-control-container",t),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){r[t]=DOM.create("div","mapboxgl-ctrl-"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire("error",{error:new Error("Failed to initialize WebGL")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire("webglcontextlost",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire("webglcontextrestored",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire("render"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire("load")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),"undefined"!=typeof window&&(window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1));var t=this.painter.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove("mapboxgl-map"),this.fire("remove")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update("style"===t.dataType),this.fire(t.dataType+"data",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+"dataloading",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map; -},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../geo/transform":64,"../render/painter":77,"../style/animation_loop":143,"../style/style":146,"../util/browser":192,"../util/dom":199,"../util/util":212,"../util/window":194,"./bind_handlers":171,"./camera":172,"./control/attribution_control":173,"./control/logo_control":176,"./hash":186,"mapbox-gl-supported":22,"point-geometry":26}],188:[function(require,module,exports){ -"use strict";var DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create("div")),t.classList.add("mapboxgl-marker"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&"moveend"!==t.type||(e=e.round()),DOM.setTransform(this._element,"translate("+e.x+"px, "+e.y+"px)")}},module.exports=Marker; -},{"../geo/lng_lat":62,"../util/dom":199,"point-geometry":26}],189:[function(require,module,exports){ -"use strict";function normalizeOffset(t){if(t){if("number"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),"top-left":new Point(o,o),"top-right":new Point(-o,o),bottom:new Point(0,-t),"bottom-left":new Point(o,-o),"bottom-right":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),"top-left":Point.convert(t["top-left"]||[0,0]),"top-right":Point.convert(t["top-right"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),"bottom-left":Point.convert(t["bottom-left"]||[0,0]),"bottom-right":Point.convert(t["bottom-right"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require("../util/util"),Evented=require("../util/evented"),DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),window=require("../util/window"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll(["_update","_onClickClose"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire("close"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement("body");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=DOM.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-n/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var r=e.add(o[t]),s={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%)"},p=this._container.classList;for(var a in s)p.remove("mapboxgl-popup-anchor-"+a);p.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,s[t]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup; -},{"../geo/lng_lat":62,"../util/dom":199,"../util/evented":200,"../util/util":212,"../util/window":194,"point-geometry":26}],190:[function(require,module,exports){ -"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if("undefined"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if("undefined"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split("."),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor; -},{}],191:[function(require,module,exports){ -"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require("./window");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.setRequestHeader("Accept","application/json"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error("http status 200 returned without content.")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:"image/png"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement("video");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="; -},{"./window":194,"mapbox-gl-supported":22}],193:[function(require,module,exports){ -"use strict";var WebWorkify=require("webworkify"),window=require("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(require("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}; -},{"../../source/worker":98,"../window":194,"webworkify":41}],194:[function(require,module,exports){ -"use strict";module.exports=self; -},{}],195:[function(require,module,exports){ -"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=require("quickselect"),calculateSignedArea=require("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented; -},{"./util":212}],201:[function(require,module,exports){ -"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}; -},{"./intersection_tests":205,"point-geometry":26,"tinyqueue":30}],202:[function(require,module,exports){ -"use strict";var WorkerPool=require("./worker_pool"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}; -},{"./worker_pool":215}],203:[function(require,module,exports){ -"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs; -},{}],204:[function(require,module,exports){ -"use strict";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})}; -},{}],205:[function(require,module,exports){ -"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}; -},{"./util":212}],206:[function(require,module,exports){ -"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup; -},{}],207:[function(require,module,exports){ -"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache; -},{}],208:[function(require,module,exports){ -"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]+)(\/[^?]+)?\??(.+)?/; -},{"./browser":192,"./config":196}],209:[function(require,module,exports){ -"use strict";var isChar=require("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar["CJK Compatibility Ideographs"](a)||(!!isChar["CJK Compatibility"](a)||(!!isChar["CJK Radicals Supplement"](a)||(!!isChar["CJK Strokes"](a)||(!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar["CJK Unified Ideographs Extension A"](a)||(!!isChar["CJK Unified Ideographs"](a)||(!!isChar["Enclosed CJK Letters and Months"](a)||(!!isChar["Hangul Compatibility Jamo"](a)||(!!isChar["Hangul Jamo Extended-A"](a)||(!!isChar["Hangul Jamo Extended-B"](a)||(!!isChar["Hangul Jamo"](a)||(!!isChar["Hangul Syllables"](a)||(!!isChar.Hiragana(a)||(!!isChar["Ideographic Description Characters"](a)||(!!isChar.Kanbun(a)||(!!isChar["Kangxi Radicals"](a)||(!!isChar["Katakana Phonetic Extensions"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar["Unified Canadian Aboriginal Syllabics"](a)||(!!isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||(!!isChar["Vertical Forms"](a)||(!!isChar["Yijing Hexagram Symbols"](a)||(!!isChar["Yi Syllables"](a)||!!isChar["Yi Radicals"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar["Latin-1 Supplement"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar["General Punctuation"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar["Letterlike Symbols"](a)||(!!isChar["Number Forms"](a)||(!(!isChar["Miscellaneous Technical"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar["Control Pictures"](a)||9251===a)||(!!isChar["Optical Character Recognition"](a)||(!!isChar["Enclosed Alphanumerics"](a)||(!!isChar["Geometric Shapes"](a)||(!(!isChar["Miscellaneous Symbols"](a)||a>=9754&&a<=9759)||(!(!isChar["Miscellaneous Symbols and Arrows"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar["CJK Symbols and Punctuation"](a)||(!!isChar.Katakana(a)||(!!isChar["Private Use Area"](a)||(!!isChar["CJK Compatibility Forms"](a)||(!!isChar["Small Form Variants"](a)||(!!isChar["Halfwidth and Fullwidth Forms"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}; -},{"./is_char_in_unicode_block":206}],210:[function(require,module,exports){ -"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}; -},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],213:[function(require,module,exports){ -"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature; -},{}],214:[function(require,module,exports){ -"use strict";var scriptDetection=require("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}; -},{"./script_detection":209}],215:[function(require,module,exports){ -"use strict";var WebWorker=require("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require("../").workerCount;for(this.workers=[];this.workers.length 2 && arguments[2] !== undefined ? arguments[2] : null; - - //create the ",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(){o(t)}),0>(e=e&&!isNaN(+e)?+e:this.delay)?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)}),l&&l.addEventListener("keyup",function(t){13===t.which&&i.click()})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,500)}};if(void 0!==module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return new t}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}()}).call(exports,__webpack_require__(18)(module))},,function(module,exports,__webpack_require__){"use strict";function enableLocateButton(button){"geolocation"in navigator&&button.addEventListener&&(button.disabled=!1,button.addEventListener("click",_newnoteGetlocation2.default))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=enableLocateButton;var _newnoteGetlocation2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(11))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function persistFormData(){var form=document.querySelector('form[name="micropub"]');form.addEventListener("change",saveData),form.addEventListener("submit",clearData),loadData()}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=persistFormData;var _webStorage2=_interopRequireDefault(__webpack_require__(17)),_alertify2=_interopRequireDefault(__webpack_require__(4)),loadData=function(){document.querySelector("#in-reply-to").value=_webStorage2.default.getItem("replyTo"),document.querySelector("#content").value=_webStorage2.default.getItem("content")},saveData=function(){var replyTo=document.querySelector("#in-reply-to"),content=document.querySelector("#content");_webStorage2.default.setItem("replyTo",replyTo.value),_webStorage2.default.setItem("content",content.value),_alertify2.default.success("Auto-saved data")},clearData=function(){_webStorage2.default.removeItem("replyTo"),_webStorage2.default.removeItem("content")}},,,function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function addMapWithPlaces(div,position){fetch("/micropub/places?latitude="+position.coords.latitude+"&longitude="+position.coords.longitude+"&u="+position.coords.accuracy,{credentials:"same-origin",method:"get"}).then(function(response){if(response.ok)return response.json();_alertify2.default.reset(),_alertify2.default.error("Non OK response")}).then(function(json){1==json.error&&(_alertify2.default.reset(),_alertify2.default.error(json.error_description));var places=null;json.places.length>0&&(places=json.places);var map=(0,_mapboxUtils2.default)(div,position,places),flexboxDiv=document.createElement("div"),options=makeOptionsForForm(map,position,places);flexboxDiv.appendChild(options);var newPlaceForm=(0,_newplaceMicropub2.default)(map);flexboxDiv.appendChild(newPlaceForm),document.querySelector("fieldset").insertBefore(flexboxDiv,document.querySelector(".map"))}).catch(function(error){console.error(error)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=addMapWithPlaces;var _alertify2=_interopRequireDefault(__webpack_require__(4)),_mapboxUtils2=_interopRequireDefault(__webpack_require__(0)),_parseLocation2=_interopRequireDefault(__webpack_require__(1)),_newplaceMicropub2=_interopRequireDefault(__webpack_require__(13)),makeOptionsForForm=function(map,position){var places=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,selectElement=document.createElement("select");selectElement.setAttribute("name","location");var noLocationOption=document.createElement("option");noLocationOption.setAttribute("selected","selected"),noLocationOption.setAttribute("value","no-location"),noLocationOption.appendChild(document.createTextNode("Don’t send location")),selectElement.appendChild(noLocationOption);var geoLocationOption=document.createElement("option");if(geoLocationOption.setAttribute("id","option-coords"),geoLocationOption.setAttribute("value","geo:"+position.coords.latitude+","+position.coords.longitude),geoLocationOption.dataset.latitude=position.coords.latitude,geoLocationOption.dataset.longitude=position.coords.longitude,geoLocationOption.appendChild(document.createTextNode("Send co-ordinates")),selectElement.appendChild(geoLocationOption),null!=places){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=places[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var place=_step.value,parsedCoords=(0,_parseLocation2.default)(place.location),option=document.createElement("option");option.setAttribute("value",place.uri),option.dataset.latitude=parsedCoords.latitude,option.dataset.longitude=parsedCoords.longitude,option.appendChild(document.createTextNode(place.name)),selectElement.appendChild(option)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}return selectElement.addEventListener("change",function(){if("no-location"!==selectElement.value){var optionLatitude=selectElement[selectElement.selectedIndex].dataset.latitude,optionLongitude=selectElement[selectElement.selectedIndex].dataset.longitude;map.flyTo({center:[optionLongitude,optionLatitude]})}}),selectElement}},function(module,exports,__webpack_require__){"use strict";function getLocation(){var container=document.querySelector("fieldset"),mapDiv=document.createElement("div");mapDiv.classList.add("map"),container.appendChild(mapDiv),navigator.geolocation.getCurrentPosition(function(position){mapDiv.dataset.latitude=position.coords.latitude,mapDiv.dataset.longitude=position.coords.longitude,mapDiv.dataset.accuracy=position.coords.accuracy,(0,_nearbyPlaces2.default)(mapDiv,position)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=getLocation;var _nearbyPlaces2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(10))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _newnoteButton2=_interopRequireDefault(__webpack_require__(6)),_persistForm2=_interopRequireDefault(__webpack_require__(7)),button=document.querySelector("#locate");(0,_newnoteButton2.default)(button),(0,_persistForm2.default)()},function(module,exports,__webpack_require__){"use strict";function makeNewPlaceForm(map){var newLocationButton=document.createElement("button");return newLocationButton.setAttribute("type","button"),newLocationButton.setAttribute("id","create-new-place"),newLocationButton.appendChild(document.createTextNode("Create New Place?")),newLocationButton.addEventListener("click",function(){var newPlaceNameDiv=document.createElement("div"),newPlaceNameLabel=document.createElement("label");newPlaceNameLabel.setAttribute("for","place-name"),newPlaceNameLabel.classList.add("place-label"),newPlaceNameLabel.appendChild(document.createTextNode("Name:"));var newPlaceNameInput=document.createElement("input");newPlaceNameInput.setAttribute("placeholder","Name"),newPlaceNameInput.setAttribute("name","place-name"),newPlaceNameInput.setAttribute("id","place-name"),newPlaceNameInput.setAttribute("type","text"),newPlaceNameDiv.appendChild(newPlaceNameLabel),newPlaceNameDiv.appendChild(newPlaceNameInput);var newPlaceDescDiv=document.createElement("div"),newPlaceDescLabel=document.createElement("label");newPlaceDescLabel.setAttribute("for","place-description"),newPlaceDescLabel.classList.add("place-label"),newPlaceDescLabel.appendChild(document.createTextNode("Description:"));var newPlaceDescInput=document.createElement("input");newPlaceDescInput.setAttribute("placeholder","Description"),newPlaceDescInput.setAttribute("name","place-description"),newPlaceDescInput.setAttribute("id","place-description"),newPlaceDescInput.setAttribute("type","text"),newPlaceDescDiv.appendChild(newPlaceDescLabel),newPlaceDescDiv.appendChild(newPlaceDescInput);var newPlaceLatitudeDiv=document.createElement("div"),newPlaceLatitudeLabel=document.createElement("label");newPlaceLatitudeLabel.setAttribute("for","place-latitude"),newPlaceLatitudeLabel.classList.add("place-label"),newPlaceLatitudeLabel.appendChild(document.createTextNode("Latitude:"));var newPlaceLatitudeInput=document.createElement("input");newPlaceLatitudeInput.setAttribute("name","place-latitude"),newPlaceLatitudeInput.setAttribute("id","place-latitude"),newPlaceLatitudeInput.setAttribute("type","text"),newPlaceLatitudeInput.value=map.getCenter().lat,newPlaceLatitudeDiv.appendChild(newPlaceLatitudeLabel),newPlaceLatitudeDiv.appendChild(newPlaceLatitudeInput);var newPlaceLongitudeDiv=document.createElement("div"),newPlaceLongitudeLabel=document.createElement("label");newPlaceLongitudeLabel.setAttribute("for","place-longitude"),newPlaceLongitudeLabel.classList.add("place-label"),newPlaceLongitudeLabel.appendChild(document.createTextNode("Longitude:"));var newPlaceLongitudeInput=document.createElement("input");newPlaceLongitudeInput.setAttribute("name","place-longitude"),newPlaceLongitudeInput.setAttribute("id","place-longitude"),newPlaceLongitudeInput.setAttribute("type","text"),newPlaceLongitudeInput.value=map.getCenter().lng,newPlaceLongitudeDiv.appendChild(newPlaceLongitudeLabel),newPlaceLongitudeDiv.appendChild(newPlaceLongitudeInput);var newPlaceSubmit=document.createElement("button");newPlaceSubmit.setAttribute("id","place-submit"),newPlaceSubmit.setAttribute("name","place-submit"),newPlaceSubmit.setAttribute("type","button"),newPlaceSubmit.appendChild(document.createTextNode("Submit New Place")),newPlaceSubmit.addEventListener("click",function(){(0,_submitPlace2.default)(map)});var form=document.querySelector("fieldset");form.appendChild(newPlaceNameDiv),form.appendChild(newPlaceDescDiv),form.appendChild(newPlaceLatitudeDiv),form.appendChild(newPlaceLongitudeDiv),form.appendChild(newPlaceSubmit)}),newLocationButton}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=makeNewPlaceForm;var _submitPlace2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(16))},,,function(module,exports,__webpack_require__){"use strict";function submitNewPlace(map){var formData=new FormData;formData.append("place-name",document.querySelector("#place-name").value),formData.append("place-description",document.querySelector("#place-description").value),formData.append("place-latitude",document.querySelector("#place-latitude").value),formData.append("place-longitude",document.querySelector("#place-longitude").value),fetch("/places/new",{credentials:"same-origin",method:"post",body:formData}).then(function(response){return response.json()}).then(function(placeJson){if(!0===placeJson.error)throw new Error(placeJson.error_description);var form=document.querySelector("fieldset"),labels=document.querySelectorAll(".place-label"),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=labels[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var label=_step.value;form.removeChild(label.parentNode)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}form.removeChild(document.querySelector("#place-submit"));var newPlaceButton=document.querySelector("#create-new-place");newPlaceButton.parentNode.removeChild(newPlaceButton);var newFeatures=map.getSource("points")._data.features.filter(function(item){return"Current Location"!=item.properties.title});newFeatures.push({type:"Feature",geometry:{type:"Point",coordinates:[placeJson.longitude,placeJson.latitude]},properties:{title:placeJson.name,icon:"circle",uri:placeJson.uri}});var newSource={type:"FeatureCollection",features:newFeatures};map.getSource("points").setData(newSource);var selectElement=document.querySelector("select"),newlyCreatedPlaceOption=document.createElement("option");newlyCreatedPlaceOption.setAttribute("value",placeJson.uri),newlyCreatedPlaceOption.appendChild(document.createTextNode(placeJson.name)),newlyCreatedPlaceOption.dataset.latitude=placeJson.latitude,newlyCreatedPlaceOption.dataset.longitude=placeJson.longitude,selectElement.appendChild(newlyCreatedPlaceOption),document.querySelector('select [value="'+placeJson.uri+'"]').selected=!0}).catch(function(placeError){_alertify2.default.reset(),_alertify2.default.error(placeError)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=submitNewPlace;var _alertify2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(4))},function(module,exports,__webpack_require__){!function(root,factory){module.exports=factory()}(0,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i {\n return string.split('-').map(([first,...rest]) => first.toUpperCase() + rest.join('').toLowerCase()).join(' ');\n};\n\nconst addMapTypeOption = (map, menu, option, checked = false) => {\n let input = document.createElement('input');\n input.setAttribute('id', option);\n input.setAttribute('type', 'radio');\n input.setAttribute('name', 'toggle');\n input.setAttribute('value', option);\n if (checked == true) {\n input.setAttribute('checked', 'checked');\n }\n input.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/' + option + '-v9');\n });\n let label = document.createElement('label');\n label.setAttribute('for', option);\n label.appendChild(document.createTextNode(titlecase(option)));\n menu.appendChild(input);\n menu.appendChild(label);\n};\n\nconst makeMapMenu = (map) => {\n let mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n addMapTypeOption(map, mapMenu, 'streets', true);\n addMapTypeOption(map, mapMenu, 'satellite-streets');\n return mapMenu;\n};\n\n//the main function\nexport default function addMap(div, position = null, places = null) {\n let dataLatitude = div.dataset.latitude;\n let dataLongitude = div.dataset.longitude;\n let dataId = div.dataset.id;\n let data = window['geojson'+dataId];\n if (data == null) {\n data = {\n 'type': 'FeatureCollection',\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [dataLongitude, dataLatitude]\n },\n 'properties': {\n 'title': 'Current Location',\n 'icon': 'circle-stroked',\n 'uri': 'current-location'\n }\n }]\n };\n }\n if (places != null) {\n for (let place of places) {\n let placeLongitude = parseLocation(place.location).longitude;\n let placeLatitude = parseLocation(place.location).latitude;\n data.features.push({\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [placeLongitude, placeLatitude]\n },\n 'properties': {\n 'title': place.name,\n 'icon': 'circle',\n 'uri': place.slug\n }\n });\n }\n }\n if (position != null) {\n dataLongitude = position.coords.longitude;\n dataLatitude = position.coords.latitude;\n }\n let map = new mapboxgl.Map({\n container: div,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [dataLongitude, dataLatitude],\n zoom: 15\n });\n if (position == null) {\n map.scrollZoom.disable();\n }\n map.addControl(new mapboxgl.NavigationControl());\n div.appendChild(makeMapMenu(map));\n map.on('load', function () {\n map.addSource('points', {\n 'type': 'geojson',\n 'data': data\n });\n map.addLayer({\n 'id': 'points',\n 'interactive': true,\n 'type': 'symbol',\n 'source': 'points',\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\n if (position != null) {\n map.on('click', function (e) {\n let features = map.queryRenderedFeatures(e.point, {\n layer: ['points']\n });\n // if there are features within the given radius of the click event,\n // fly to the location of the click event\n if (features.length) {\n // Get coordinates from the symbol and center the map on those coordinates\n map.flyTo({center: features[0].geometry.coordinates});\n selectPlaceInForm(features[0].properties.uri);\n }\n });\n }\n if (data.features && data.features.length > 1) {\n let bounds = new mapboxgl.LngLatBounds();\n for (let feature of data.features) {\n bounds.extend(feature.geometry.coordinates);\n }\n map.fitBounds(bounds, { padding: 65});\n }\n\n return map;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./mapbox-utils.js","!function(){\"use strict\";function t(){var t={parent:document.body,version:\"1.0.12\",defaultOkLabel:\"Ok\",okLabel:\"Ok\",defaultCancelLabel:\"Cancel\",cancelLabel:\"Cancel\",defaultMaxLogItems:2,maxLogItems:2,promptValue:\"\",promptPlaceholder:\"\",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:\"alertify-logs\",logContainerDefaultClass:\"alertify-logs\",dialogs:{buttons:{holder:\"\",ok:\"\",cancel:\"\"},input:\"\",message:\"

{{message}}

\",log:\"
{{message}}
\"},defaultDialogs:{buttons:{holder:\"\",ok:\"\",cancel:\"\"},input:\"\",message:\"

{{message}}

\",log:\"
{{message}}
\"},build:function(t){var e=this.dialogs.buttons.ok,o=\"
\"+this.dialogs.message.replace(\"{{message}}\",t.message);return\"confirm\"!==t.type&&\"prompt\"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),\"prompt\"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+\"
\").replace(\"{{buttons}}\",e).replace(\"{{ok}}\",this.okLabel).replace(\"{{cancel}}\",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener(\"click\",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(\".alertify-logs > div\");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass=\"alertify-logs \"+t},setupLogContainer:function(){var t=document.querySelector(\".alertify-logs\"),e=this.logContainerClass;return t||(t=document.createElement(\"div\"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement(\"div\");a.className=o||\"default\",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,\"function\"==typeof n&&a.addEventListener(\"click\",n),i.appendChild(a),setTimeout(function(){a.className+=\" show\"},10),this.close(a,this.delay)},setup:function(t){function e(e){\"function\"!=typeof e&&(e=function(){}),i&&i.addEventListener(\"click\",function(i){t.onOkay&&\"function\"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:\"ok\",inputValue:l.value,event:i}:{buttonClicked:\"ok\",event:i}),o(n)}),a&&a.addEventListener(\"click\",function(i){t.onCancel&&\"function\"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:\"cancel\",event:i}),o(n)}),l&&l.addEventListener(\"keyup\",function(t){13===t.which&&i.click()})}var n=document.createElement(\"div\");n.className=\"alertify hide\",n.innerHTML=this.build(t);var i=n.querySelector(\".ok\"),a=n.querySelector(\".cancel\"),l=n.querySelector(\"input\"),s=n.querySelector(\"label\");l&&(\"string\"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),\"string\"==typeof this.promptValue&&(l.value=this.promptValue));var r;return\"function\"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove(\"hide\"),l&&t.type&&\"prompt\"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case\"bootstrap\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"\";break;case\"purecss\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\";break;case\"mdl\":case\"material-design-light\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"angular-material\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"default\":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme(\"default\"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue=\"\",this.promptPlaceholder=\"\",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition(\"bottom left\"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector(\"#alertifyCSS\")){var t=document.getElementsByTagName(\"head\")[0],e=document.createElement(\"style\");e.type=\"text/css\",e.id=\"alertifyCSS\",e.innerHTML=\".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}\",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector(\"#alertifyCSS\");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,\"alert\",o,n)||this},confirm:function(e,o,n){return t.dialog(e,\"confirm\",o,n)||this},prompt:function(e,o,n){return t.dialog(e,\"prompt\",o,n)||this},log:function(e,o){return t.log(e,\"default\",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,\"success\",o),this},error:function(e,o){return t.log(e,\"error\",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||\"\"),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML=\"\",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove(\"show\"),t.classList.add(\"hide\"),t.addEventListener(\"transitionend\",o),setTimeout(o,e)}};if(\"undefined\"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else\"function\"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/alertify.js/dist/js/alertify.js\n// module id = 3\n// module chunks = 0","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/base64-js/index.js\n// module id = 5\n// module chunks = 0 1","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/index.js\n// module id = 6\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/~/isarray/index.js\n// module id = 7\n// module chunks = 0 1","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/ieee754/index.js\n// module id = 8\n// module chunks = 0 1","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(require,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(require,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(require,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(require,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(require,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require(\"./feature\");\n},{\"./feature\":10}],9:[function(require,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(require,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(require,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(require,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(require,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(require,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(require,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.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?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(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(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(require,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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 n=t.x-this.x,i=t.y-this.y;return n*n+i*i},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,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,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},_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 n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(require,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(require,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(require,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58}],45:[function(require,module,exports){\n\"use strict\";var ArrayGroup=require(\"./array_group\"),BufferGroup=require(\"./buffer_group\"),util=require(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60}],47:[function(require,module,exports){\n\"use strict\";var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){\"bevel\"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?\"butt\":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&\"round\"===F&&(Ia&&(F=\"bevel\"),\"bevel\"===F&&(I>2&&(F=\"flipbevel\"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if(\"bevel\"===F||\"fakeround\"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),\"fakeround\"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else\"butt\"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):\"square\"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):\"round\"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"vector-tile\":34}],50:[function(require,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require(\"point-geometry\"),ArrayGroup=require(\"../array_group\"),BufferGroup=require(\"../buffer_group\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),EXTENT=require(\"../extent\"),Anchor=require(\"../../symbol/anchor\"),getAnchors=require(\"../../symbol/get_anchors\"),resolveTokens=require(\"../../util/token\"),Quads=require(\"../../symbol/quads\"),Shaping=require(\"../../symbol/shaping\"),resolveText=require(\"../../symbol/resolve_text\"),mergeLines=require(\"../../symbol/mergelines\"),clipLine=require(\"../../symbol/clip_line\"),util=require(\"../../util/util\"),scriptDetection=require(\"../../util/script_detection\"),loadGeometry=require(\"../load_geometry\"),CollisionFeature=require(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=require(\"../../util/find_pole_of_inaccessibility\"),classifyRings=require(\"../../util/classify_rings\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,rtlTextPlugin=require(\"../../source/rtl_text_plugin\"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"text-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"text-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"text-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"text-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"text-opacity\",type:\"Uint8\",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"icon-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"icon-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"icon-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"icon-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"icon-opacity\",type:\"Uint8\",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=a[\"icon-image\"],l=i&&(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if(\"line\"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../source/rtl_text_plugin\":90,\"../../symbol/anchor\":157,\"../../symbol/clip_line\":159,\"../../symbol/collision_feature\":161,\"../../symbol/get_anchors\":163,\"../../symbol/mergelines\":166,\"../../symbol/quads\":167,\"../../symbol/resolve_text\":168,\"../../symbol/shaping\":169,\"../../util/classify_rings\":195,\"../../util/find_pole_of_inaccessibility\":201,\"../../util/script_detection\":209,\"../../util/token\":211,\"../../util/util\":212,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"point-geometry\":26,\"vector-tile\":34}],51:[function(require,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":212,\"./extent\":54}],57:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":210}],58:[function(require,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require(\"./vertex_array_type\"),util=require(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty(\"lng\")&&t.hasOwnProperty(\"lat\"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":212}],63:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),Point=require(\"point-geometry\"),Coordinate=require(\"./coordinate\"),util=require(\"../util/util\"),interp=require(\"../util/interpolate\"),TileCoord=require(\"../source/tile_coord\"),EXTENT=require(\"../data/extent\"),glmatrix=require(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":94,\"../util/interpolate\":204,\"../util/util\":212,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(require,module,exports){\n\"use strict\";var browser=require(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=require(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require(\"./ui/map\"),mapboxgl.NavigationControl=require(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=require(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=require(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=require(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=require(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=require(\"./ui/popup\"),mapboxgl.Marker=require(\"./ui/marker\"),mapboxgl.Style=require(\"./style/style\"),mapboxgl.LngLat=require(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=require(\"./geo/lng_lat_bounds\"),mapboxgl.Point=require(\"point-geometry\"),mapboxgl.Evented=require(\"./util/evented\"),mapboxgl.supported=require(\"./util/browser\").supported;var config=require(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=require(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":90,\"./style/style\":146,\"./ui/control/attribution_control\":173,\"./ui/control/fullscreen_control\":174,\"./ui/control/geolocate_control\":175,\"./ui/control/navigation_control\":177,\"./ui/control/scale_control\":178,\"./ui/map\":187,\"./ui/marker\":188,\"./ui/popup\":189,\"./util/browser\":192,\"./util/config\":196,\"./util/evented\":200,\"point-geometry\":26}],66:[function(require,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":192,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(require,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":212}],74:[function(require,module,exports){\n\"use strict\";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout[\"text-allow-overlap\"]||a.layout[\"icon-allow-overlap\"]||a.layout[\"text-ignore-placement\"]||a.layout[\"icon-ignore-placement\"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint[\"icon-translate\"],a.paint[\"icon-translate-anchor\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-size\"]),drawLayerSymbols(e,t,a,i,!0,a.paint[\"text-translate\"],a.paint[\"text-translate-anchor\"],a.layout[\"text-rotation-alignment\"],a.layout[\"text-pitch-alignment\"],a.layout[\"text-size\"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m=\"map\"===l,p=\"map\"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":87}],79:[function(require,module,exports){\n\"use strict\";var path=require(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n float r = floor(encodedColor[0]/256.0)/255.0;\\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\\n float b = floor(encodedColor[1]/256.0)/255.0;\\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\\n return vec4(r, g, b, a);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform lowp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n 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);\\n 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);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n 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);\\n 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);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n 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, pos);\\n 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, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform float u_opacity;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform int u_xdim;\\nuniform int u_ydim;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos.x = a_pos.x / float(u_xdim);\\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_font_scale;\\nuniform highp float u_gamma_scale;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(require,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194}],83:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),rewind=require(\"geojson-rewind\"),GeoJSONWrapper=require(\"./geojson_wrapper\"),vtpbf=require(\"vt-pbf\"),supercluster=require(\"supercluster\"),geojsonvt=require(\"geojson-vt\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":191,\"./geojson_wrapper\":84,\"./vector_tile_worker_source\":96,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],84:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTENT=require(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":200,\"../util/mapbox\":208,\"../util/util\":212,\"./load_tilejson\":86}],96:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),vt=require(\"vector-tile\"),Protobuf=require(\"pbf\"),WorkerTile=require(\"./worker_tile\"),util=require(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":191,\"../util/util\":212,\"./worker_tile\":99,\"pbf\":25,\"vector-tile\":34}],97:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),ImageSource=require(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":191,\"./image_source\":85}],98:[function(require,module,exports){\n\"use strict\";var Actor=require(\"../util/actor\"),StyleLayerIndex=require(\"../style/style_layer_index\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=require(\"./geojson_worker_source\"),globalRTLTextPlugin=require(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":154,\"../util/actor\":190,\"./geojson_worker_source\":83,\"./rtl_text_plugin\":90,\"./vector_tile_worker_source\":96}],99:[function(require,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],104:[function(require,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],105:[function(require,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return\"function\"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],108:[function(require,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],109:[function(require,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],113:[function(require,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],114:[function(require,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require(\"lodash._baseisequal\"),bindCallback=require(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":109,\"lodash._bindcallback\":110}],115:[function(require,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],116:[function(require,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"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\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],119:[function(require,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":102,\"../util/extend\":119,\"../util/get_type\":120,\"./validate_array\":125,\"./validate_boolean\":126,\"./validate_color\":127,\"./validate_constants\":128,\"./validate_enum\":129,\"./validate_filter\":130,\"./validate_function\":131,\"./validate_layer\":133,\"./validate_light\":135,\"./validate_number\":136,\"./validate_object\":137,\"./validate_source\":140,\"./validate_string\":141}],125:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],129:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123}],130:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateEnum=require(\"./validate_enum\"),getType=require(\"../util/get_type\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"../util/unbundle_jsonlint\":123,\"./validate\":124,\"./validate_array\":125,\"./validate_number\":136,\"./validate_object\":137}],132:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateString=require(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":102,\"./validate_string\":141}],133:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateFilter=require(\"./validate_filter\"),validatePaintProperty=require(\"./validate_paint_property\"),validateLayoutProperty=require(\"./validate_layout_property\"),extend=require(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],137:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\"),validateSpec=require(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],138:[function(require,module,exports){\n\"use strict\";var validateProperty=require(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":139}],139:[function(require,module,exports){\n\"use strict\";var validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],140:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateEnum=require(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123,\"./validate_enum\":129,\"./validate_object\":137}],141:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),ValidationError=require(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],142:[function(require,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require(\"./validate/validate_constants\"),validate=require(\"./validate/validate\"),latestStyleSpec=require(\"./reference/latest\"),validateGlyphsURL=require(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(require(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(require(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(require(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(require(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(require(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(require(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":117,\"./validate/validate\":124,\"./validate/validate_constants\":128,\"./validate/validate_filter\":130,\"./validate/validate_glyphs_url\":132,\"./validate/validate_layer\":133,\"./validate/validate_layout_property\":134,\"./validate/validate_light\":135,\"./validate/validate_paint_property\":138,\"./validate/validate_source\":140}],143:[function(require,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],144:[function(require,module,exports){\n\"use strict\";var Evented=require(\"../util/evented\"),ajax=require(\"../util/ajax\"),browser=require(\"../util/browser\"),normalizeURL=require(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(i,r,\".json\"),function(t,i){return t?void a.fire(\"error\",{error:t}):(a.data=i,void(a.imgData&&a.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(i,r,\".png\"),function(t,i){if(t)return void a.fire(\"error\",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on(\"data\",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":191,\"../util/browser\":192,\"../util/evented\":200,\"../util/mapbox\":208}],145:[function(require,module,exports){\n\"use strict\";var styleSpec=require(\"../style-spec/reference/latest\"),util=require(\"../util/util\"),Evented=require(\"../util/evented\"),validateStyle=require(\"./validate_style\"),StyleDeclaration=require(\"./style_declaration\"),StyleTransition=require(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../util/interpolate\":204,\"../util/util\":212}],156:[function(require,module,exports){\n\"use strict\";module.exports=require(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;f
r;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],159:[function(require,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],160:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),Point=require(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{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:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":210,\"point-geometry\":26}],161:[function(require,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],162:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),EXTENT=require(\"../data/extent\"),Grid=require(\"grid-index\"),intersectionTests=require(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require(\"../util/interpolate\"),Anchor=require(\"../symbol/anchor\"),checkMaxAngle=require(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../symbol/anchor\":157,\"../util/interpolate\":204,\"./check_max_angle\":158}],164:[function(require,module,exports){\n\"use strict\";var ShelfPack=require(\"@mapbox/shelf-pack\"),util=require(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":199,\"./handler/box_zoom\":179,\"./handler/dblclick_zoom\":180,\"./handler/drag_pan\":181,\"./handler/drag_rotate\":182,\"./handler/keyboard\":183,\"./handler/scroll_zoom\":184,\"./handler/touch_zoom_rotate\":185,\"point-geometry\":26}],172:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),interpolate=require(\"../util/interpolate\"),browser=require(\"../util/browser\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),Evented=require(\"../util/evented\"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),\"center\"in t&&(e.center=LngLat.convert(t.center)),\"bearing\"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),\"pitch\"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire(\"movestart\",i).fire(\"move\",i),o&&this.fire(\"zoomstart\",i).fire(\"zoom\",i).fire(\"zoomend\",i),n&&this.fire(\"rotate\",i),r&&this.fire(\"pitch\",i),this.fire(\"moveend\",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:u;\"center\"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):\"around\"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire(\"movestart\",i)),this.zooming&&this.fire(\"zoomstart\",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire(\"move\",i),this.zooming&&this.fire(\"zoom\",i),this.rotating&&this.fire(\"rotate\",i),this.pitching&&this.fire(\"pitch\",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c=\"center\"in t?LngLat.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,f=\"pitch\"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v=\"center\"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if(\"minZoom\"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],174:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",t=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),l=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return l.setAttribute(\"aria-label\",\"Toggle fullscreen\"),l.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],175:[function(require,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require(\"../../util/evented\"),DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":199,\"../../util/evented\":200,\"../../util/util\":212,\"../../util/window\":194}],176:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],177:[function(require,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],178:[function(require,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],179:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),LngLatBounds=require(\"../../geo/lng_lat_bounds\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=r-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],180:[function(require,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],181:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],182:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],183:[function(require,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],184:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),browser=require(\"../../util/browser\"),window=require(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":192,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],185:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],186:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),window=require(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":212,\"../util/window\":194}],187:[function(require,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require(\"../util/util\"),browser=require(\"../util/browser\"),window=require(\"../util/window\"),DOM=require(\"../util/dom\"),Style=require(\"../style/style\"),AnimationLoop=require(\"../style/animation_loop\"),Painter=require(\"../render/painter\"),Transform=require(\"../geo/transform\"),Hash=require(\"./hash\"),bindHandlers=require(\"./bind_handlers\"),Camera=require(\"./camera\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),AttributionControl=require(\"./control/attribution_control\"),LogoControl=require(\"./control/logo_control\"),isSupported=require(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||\"number\"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&\"string\"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\". Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=DOM.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=DOM.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",0),this._canvas.setAttribute(\"aria-label\",\"Map\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create(\"div\",\"mapboxgl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){r[t]=DOM.create(\"div\",\"mapboxgl-ctrl-\"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof window&&(window.removeEventListener(\"resize\",this._onWindowResize,!1),window.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":77,\"../style/animation_loop\":143,\"../style/style\":146,\"../util/browser\":192,\"../util/dom\":199,\"../util/util\":212,\"../util/window\":194,\"./bind_handlers\":171,\"./camera\":172,\"./control/attribution_control\":173,\"./control/logo_control\":176,\"./hash\":186,\"mapbox-gl-supported\":22,\"point-geometry\":26}],188:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&\"moveend\"!==t.type||(e=e.round()),DOM.setTransform(this._element,\"translate(\"+e.x+\"px, \"+e.y+\"px)\")}},module.exports=Marker;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"point-geometry\":26}],189:[function(require,module,exports){\n\"use strict\";function normalizeOffset(t){if(t){if(\"number\"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),\"top-left\":new Point(o,o),\"top-right\":new Point(-o,o),bottom:new Point(0,-t),\"bottom-left\":new Point(o,-o),\"bottom-right\":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,\"top-left\":e,\"top-right\":e,bottom:e,\"bottom-left\":e,\"bottom-right\":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),\"top-left\":Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":Point.convert(t[\"top-right\"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),\"bottom-left\":Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":Point.convert(t[\"bottom-right\"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require(\"../util/util\"),Evented=require(\"../util/evented\"),DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),window=require(\"../util/window\"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement(\"body\");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=DOM.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=DOM.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-n/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var r=e.add(o[t]),s={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%)\"},p=this._container.classList;for(var a in s)p.remove(\"mapboxgl-popup-anchor-\"+a);p.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,s[t]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194,\"point-geometry\":26}],190:[function(require,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],191:[function(require,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require(\"./window\");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.setRequestHeader(\"Accept\",\"application/json\"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.responseType=\"arraybuffer\",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error(\"http status 200 returned without content.\")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader(\"Cache-Control\"),expires:n.getResponseHeader(\"Expires\")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:\"image/png\"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement(\"video\");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":194,\"mapbox-gl-supported\":22}],193:[function(require,module,exports){\n\"use strict\";var WebWorkify=require(\"webworkify\"),window=require(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(require(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":98,\"../window\":194,\"webworkify\":41}],194:[function(require,module,exports){\n\"use strict\";module.exports=self;\n},{}],195:[function(require,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=require(\"quickselect\"),calculateSignedArea=require(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":212}],201:[function(require,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":205,\"point-geometry\":26,\"tinyqueue\":30}],202:[function(require,module,exports){\n\"use strict\";var WorkerPool=require(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":215}],203:[function(require,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],204:[function(require,module,exports){\n\"use strict\";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})};\n},{}],205:[function(require,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":212}],206:[function(require,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],207:[function(require,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],208:[function(require,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]+)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":192,\"./config\":196}],209:[function(require,module,exports){\n\"use strict\";var isChar=require(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":206}],210:[function(require,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],213:[function(require,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],214:[function(require,module,exports){\n\"use strict\";var scriptDetection=require(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":209}],215:[function(require,module,exports){\n\"use strict\";var WebWorker=require(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require(\"../\").workerCount;for(this.workers=[];this.workers.length {\n let replyTo = document.querySelector('#in-reply-to');\n replyTo.value = webStorage.getItem('replyTo');\n let content = document.querySelector('#content');\n content.value = webStorage.getItem('content');\n};\n\nconst saveData = () => {\n let replyTo = document.querySelector('#in-reply-to');\n let content = document.querySelector('#content');\n webStorage.setItem('replyTo', replyTo.value);\n webStorage.setItem('content', content.value);\n alertify.success('Auto-saved data');\n};\n\nconst clearData = () => {\n webStorage.removeItem('replyTo');\n webStorage.removeItem('content');\n};\n\nexport default function persistFormData()\n{\n let form = document.querySelector('form[name=\"micropub\"]');\n form.addEventListener('change', saveData);\n form.addEventListener('submit', clearData);\n loadData();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./persist-form.js","//nearby-places.js\n\nimport alertify from 'alertify.js';\nimport addMap from './mapbox-utils';\nimport parseLocation from './parse-location';\nimport makeNewPlaceForm from './newplace-micropub';\n\nconst makeOptionsForForm = (map, position, places = null) => {\n //create the \",message:\"

{{message}}

\",log:\"
{{message}}
\"},defaultDialogs:{buttons:{holder:\"\",ok:\"\",cancel:\"\"},input:\"\",message:\"

{{message}}

\",log:\"
{{message}}
\"},build:function(t){var e=this.dialogs.buttons.ok,o=\"
\"+this.dialogs.message.replace(\"{{message}}\",t.message);return\"confirm\"!==t.type&&\"prompt\"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),\"prompt\"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+\"
\").replace(\"{{buttons}}\",e).replace(\"{{ok}}\",this.okLabel).replace(\"{{cancel}}\",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener(\"click\",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(\".alertify-logs > div\");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass=\"alertify-logs \"+t},setupLogContainer:function(){var t=document.querySelector(\".alertify-logs\"),e=this.logContainerClass;return t||(t=document.createElement(\"div\"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement(\"div\");a.className=o||\"default\",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,\"function\"==typeof n&&a.addEventListener(\"click\",n),i.appendChild(a),setTimeout(function(){a.className+=\" show\"},10),this.close(a,this.delay)},setup:function(t){function e(e){\"function\"!=typeof e&&(e=function(){}),i&&i.addEventListener(\"click\",function(i){t.onOkay&&\"function\"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:\"ok\",inputValue:l.value,event:i}:{buttonClicked:\"ok\",event:i}),o(n)}),a&&a.addEventListener(\"click\",function(i){t.onCancel&&\"function\"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:\"cancel\",event:i}),o(n)}),l&&l.addEventListener(\"keyup\",function(t){13===t.which&&i.click()})}var n=document.createElement(\"div\");n.className=\"alertify hide\",n.innerHTML=this.build(t);var i=n.querySelector(\".ok\"),a=n.querySelector(\".cancel\"),l=n.querySelector(\"input\"),s=n.querySelector(\"label\");l&&(\"string\"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),\"string\"==typeof this.promptValue&&(l.value=this.promptValue));var r;return\"function\"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove(\"hide\"),l&&t.type&&\"prompt\"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case\"bootstrap\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"\";break;case\"purecss\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\";break;case\"mdl\":case\"material-design-light\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"angular-material\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"default\":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme(\"default\"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue=\"\",this.promptPlaceholder=\"\",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition(\"bottom left\"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector(\"#alertifyCSS\")){var t=document.getElementsByTagName(\"head\")[0],e=document.createElement(\"style\");e.type=\"text/css\",e.id=\"alertifyCSS\",e.innerHTML=\".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}\",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector(\"#alertifyCSS\");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,\"alert\",o,n)||this},confirm:function(e,o,n){return t.dialog(e,\"confirm\",o,n)||this},prompt:function(e,o,n){return t.dialog(e,\"prompt\",o,n)||this},log:function(e,o){return t.log(e,\"default\",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,\"success\",o),this},error:function(e,o){return t.log(e,\"error\",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||\"\"),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML=\"\",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove(\"show\"),t.classList.add(\"hide\"),t.addEventListener(\"transitionend\",o),setTimeout(o,e)}};if(\"undefined\"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else\"function\"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/alertify.js/dist/js/alertify.js\n// module id = 4\n// module chunks = 0","//newnote-button.js\n\nimport getLocation from './newnote-getlocation';\n\nexport default function enableLocateButton(button) {\n if ('geolocation' in navigator) {\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation\n //make the locate button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./newnote-button.js","//persist-form.js\n\nimport webStorage from 'webStorage';\nimport alertify from 'alertify.js';\n\nconst loadData = () => {\n let replyTo = document.querySelector('#in-reply-to');\n replyTo.value = webStorage.getItem('replyTo');\n let content = document.querySelector('#content');\n content.value = webStorage.getItem('content');\n};\n\nconst saveData = () => {\n let replyTo = document.querySelector('#in-reply-to');\n let content = document.querySelector('#content');\n webStorage.setItem('replyTo', replyTo.value);\n webStorage.setItem('content', content.value);\n alertify.success('Auto-saved data');\n};\n\nconst clearData = () => {\n webStorage.removeItem('replyTo');\n webStorage.removeItem('content');\n};\n\nexport default function persistFormData()\n{\n let form = document.querySelector('form[name=\"micropub\"]');\n form.addEventListener('change', saveData);\n form.addEventListener('submit', clearData);\n loadData();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./persist-form.js","//nearby-places.js\n\nimport alertify from 'alertify.js';\nimport addMap from './mapbox-utils';\nimport parseLocation from './parse-location';\nimport makeNewPlaceForm from './newplace-micropub';\n\nconst makeOptionsForForm = (map, position, places = null) => {\n //create the
-
+

Description

+
+

Location

+
+

+

Map Icon

+


+ +

Merge with another place?

+@stop + +@section('scripts') + + @stop diff --git a/resources/views/admin/places/merge/edit.blade.php b/resources/views/admin/places/merge/edit.blade.php new file mode 100644 index 00000000..2a9fb14a --- /dev/null +++ b/resources/views/admin/places/merge/edit.blade.php @@ -0,0 +1,47 @@ +@extends('master') + +@section('title') +Merge Places « Admin CP +@stop + +@section('content') +

Merge places

+

When a place is deleted, it is removed from the database, and all the notes associated with it, will be re-associated with the other place.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ csrf_field() }} + + + + + + +
Place 1Place 2
Name{{ $place1->name }}{{ $place2->name }}
Description{{ $place1->description }}{{ $place2->description }}
location{{ $place1->latitude }}, {{ $place1->longitude }}{{ $place2->latitude }}, {{ $place2->longitude }}
Foursquare{{ $place1->foursquare }}{{ $place2->foursquare }}
+@stop diff --git a/resources/views/admin/places/merge/index.blade.php b/resources/views/admin/places/merge/index.blade.php new file mode 100644 index 00000000..e9b3120c --- /dev/null +++ b/resources/views/admin/places/merge/index.blade.php @@ -0,0 +1,14 @@ +@extends('master') + +@section('title') +Merge Places « Admin CP +@stop + +@section('content') +

We shall be merging {{ $first->name }}. It’s location is Point({{ $first->location }}).

+ +@stop diff --git a/resources/views/admin/welcome.blade.php b/resources/views/admin/welcome.blade.php index 72a38221..3c35aada 100644 --- a/resources/views/admin/welcome.blade.php +++ b/resources/views/admin/welcome.blade.php @@ -14,7 +14,7 @@ Admin CP

You can either create new notes, or edit them.

Clients

-

You can either create new contacts, or edit them.

+

You can either create new client names, or edit them.

Contacts

You can either create new contacts, or edit them.

diff --git a/routes/web.php b/routes/web.php index fe462895..d006be26 100644 --- a/routes/web.php +++ b/routes/web.php @@ -80,6 +80,9 @@ Route::group(['domain' => config('url.longurl')], function () { Route::post('/', 'PlacesController@store'); Route::get('/{id}/edit', 'PlacesController@edit'); Route::put('/{id}', 'PlacesController@update'); + Route::get('/{id}/merge', 'PlacesController@mergeIndex'); + Route::get('/{place1_id}/merge/{place2_id}', 'PlacesController@mergeEdit'); + Route::post('/merge', 'PlacesController@mergeStore'); Route::delete('/{id}', 'PlacesController@destroy'); }); }); diff --git a/compress b/scripts/compress old mode 100755 new mode 100644 similarity index 100% rename from compress rename to scripts/compress diff --git a/deploy.sh b/scripts/deploy.sh old mode 100755 new mode 100644 similarity index 100% rename from deploy.sh rename to scripts/deploy.sh diff --git a/scripts/uglifyjs b/scripts/uglifyjs new file mode 100644 index 00000000..4bad1c7f --- /dev/null +++ b/scripts/uglifyjs @@ -0,0 +1,7 @@ +#!/usr/bin/env zsh + +for file in ./public/assets/js/*.js +do + echo "uglifying `basename $file`" + uglifyjs --verbose --compress --source-map content=${file:2}.map,url=`basename $file`.map,filename=${file:2}.map,includeSources=true --output $file $file +done diff --git a/tests/Unit/PlacesTest.php b/tests/Unit/PlacesTest.php index 0a981725..d42189bf 100644 --- a/tests/Unit/PlacesTest.php +++ b/tests/Unit/PlacesTest.php @@ -4,6 +4,7 @@ namespace Tests\Unit; use App\Place; use Tests\TestCase; +use Phaza\LaravelPostgis\Geometries\Point; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; @@ -16,7 +17,7 @@ class PlacesTest extends TestCase */ public function test_near_method() { - $nearby = Place::near(53.5, -2.38, 1000); + $nearby = Place::near(new Point(53.5, -2.38), 1000)->get(); $this->assertEquals('the-bridgewater-pub', $nearby[0]->slug); } } diff --git a/webpack.config.js b/webpack.config.js index 3cc7b616..0a275abb 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -7,7 +7,8 @@ const config = { links: './links.js', maps: './maps.js', newnote: './newnote.js', - piwik: './piwik.js' + piwik: './piwik.js', + places: './places.js' }, output: { path: __dirname + '/public/assets/js', @@ -15,6 +16,7 @@ const config = { }, devtool: 'source-map', module: { + noParse: [/(mapbox-gl)\.js$/], loaders: [ { test: /\.js$/, diff --git a/yarn.lock b/yarn.lock index a7415b99..53189f7e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -186,8 +186,8 @@ async-each@^1.0.0: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" async@^2.1.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.4.0.tgz#4990200f18ea5b837c2cc4f8c031a6985c385611" + version "2.4.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" dependencies: lodash "^4.14.0" @@ -616,8 +616,8 @@ babel-polyfill@^6.23.0: regenerator-runtime "^0.10.0" babel-preset-env@^1.2.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.4.0.tgz#c8e02a3bcc7792f23cded68e0355b9d4c28f0f7a" + version "1.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -646,8 +646,9 @@ babel-preset-env@^1.2.2: babel-plugin-transform-es2015-unicode-regex "^6.22.0" babel-plugin-transform-exponentiation-operator "^6.22.0" babel-plugin-transform-regenerator "^6.22.0" - browserslist "^1.4.0" + browserslist "^2.1.2" invariant "^2.2.2" + semver "^5.3.0" babel-preset-es2015@^6.18.0, babel-preset-es2015@^6.24.1: version "6.24.1" @@ -781,10 +782,6 @@ binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" -bindings@1.2.x: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" - block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -902,12 +899,12 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^1.4.0: - version "1.7.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" +browserslist@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053" dependencies: - caniuse-db "^1.0.30000639" - electron-to-chromium "^1.2.7" + caniuse-lite "^1.0.30000670" + electron-to-chromium "^1.3.11" buble@^0.15.1: version "0.15.2" @@ -973,9 +970,9 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -caniuse-db@^1.0.30000639: - version "1.0.30000666" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000666.tgz#951ed9f3d3bfaa08a06dafbb5089ab07cce6ab90" +caniuse-lite@^1.0.30000670: + version "1.0.30000670" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000670.tgz#c94f7dbf0b68eaadc46d3d203f46e82e7801135e" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1251,18 +1248,18 @@ dashdash@^1.12.0: assert-plus "^1.0.0" date-fns@^1.27.2: - version "1.28.4" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.4.tgz#7938aec34ba31fc8bd134d2344bc2e0bbfd95165" + version "1.28.5" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf" date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" debug@^2.1.1, debug@^2.2.0: - version "2.6.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a" + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: - ms "0.7.3" + ms "2.0.0" decamelize@^1.0.0, decamelize@^1.1.1: version "1.2.0" @@ -1350,9 +1347,9 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" -electron-to-chromium@^1.2.7: - version "1.3.10" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.10.tgz#63d62b785471f0d8dda85199d64579de8a449f08" +electron-to-chromium@^1.3.11: + version "1.3.11" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.11.tgz#744761df1d67b492b322ce9aa0aba5393260eb61" elegant-spinner@^1.0.1: version "1.0.1" @@ -1718,13 +1715,13 @@ glob-parent@^2.0.0: is-glob "^2.0.0" glob@^7.0.0, glob@^7.0.5: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" + minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" @@ -2003,10 +2000,6 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -2150,8 +2143,8 @@ kdbush@^1.0.1: resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-1.0.1.tgz#3cbd03e9dead9c0f6f66ccdb96450e5cecc640e0" kind-of@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07" + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: is-buffer "^1.1.5" @@ -2185,8 +2178,8 @@ levn@~0.3.0: type-check "~0.3.2" lint-staged@^3.2.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.1.tgz#96cd1cf7a1ac92d81662643c37d1cca28b91b046" + version "3.4.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.2.tgz#9cd1c0e4e477326c2696802a8377c22f92d65e79" dependencies: app-root-path "^2.0.0" cosmiconfig "^1.1.0" @@ -2399,13 +2392,6 @@ micromatch@^2.1.5: parse-glob "^3.0.4" regex-cache "^0.4.2" -microtime@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/microtime/-/microtime-2.1.3.tgz#0d1307f25da0ca7fde4ab791edc8c91dd7b4e3be" - dependencies: - bindings "1.2.x" - nan "2.6.x" - miller-rabin@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" @@ -2437,7 +2423,7 @@ minimatch@3.0.2: dependencies: brace-expansion "^1.0.0" -minimatch@^3.0.0, minimatch@^3.0.2: +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -2461,9 +2447,9 @@ minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: dependencies: minimist "0.0.8" -ms@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" multi-stage-sourcemap@^0.2.1: version "0.2.1" @@ -2475,7 +2461,7 @@ mute-stream@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" -nan@2.6.x, nan@^2.3.0: +nan@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -2816,16 +2802,14 @@ pbf@^1.3.2: resolve-protobuf-schema "^2.0.0" pbkdf2@^3.0.3: - version "3.0.11" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.11.tgz#791b7414e50c848438976e12ea2651003037ca6b" + version "3.0.12" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" ripemd160 "^2.0.1" safe-buffer "^5.0.1" sha.js "^2.4.8" - optionalDependencies: - microtime "^2.1.3" performance-now@^0.2.0: version "0.2.0" @@ -2915,11 +2899,11 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@1.3.2, punycode@^1.2.4: +punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -punycode@^1.4.1: +punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -3352,8 +3336,8 @@ snyk-try-require@^1.1.1, snyk-try-require@^1.2.0: then-fs "^2.0.0" snyk@^1.14.3: - version "1.30.0" - resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.30.0.tgz#a323809ea477d6aff0e325f5995cb491c0d7ca3d" + version "1.30.1" + resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.30.1.tgz#0cf14c1d73c7b6f63ca4e275ac8c2a090ec2ad52" dependencies: abbrev "^1.0.7" ansi-escapes "^1.3.0" @@ -3513,22 +3497,15 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^3.0.0" - string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" string_decoder@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" + version "1.0.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" dependencies: - buffer-shims "~1.0.0" + safe-buffer "^5.0.1" stringstream@~0.0.4: version "0.0.5" @@ -3698,9 +3675,9 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -uglify-js@^2.8.5: - version "2.8.23" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.23.tgz#8230dd9783371232d62a7821e2cf9a817270a8a0" +uglify-js@^2.8.27: + version "2.8.27" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c" dependencies: source-map "~0.5.1" yargs "~3.10.0" @@ -3876,8 +3853,8 @@ webpack-sources@^0.2.3: source-map "~0.5.3" webpack@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.5.1.tgz#61742f0cf8af555b87460a9cd8bba2f1e3ee2fce" + version "2.6.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.0.tgz#7e650a92816abff5db5f43316b0b8b19b13d76c1" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -3896,7 +3873,7 @@ webpack@^2.2.0: source-map "^0.5.3" supports-color "^3.1.0" tapable "~0.2.5" - uglify-js "^2.8.5" + uglify-js "^2.8.27" watchpack "^1.3.1" webpack-sources "^0.2.3" yargs "^6.0.0" @@ -3920,10 +3897,10 @@ which@1.2.x, which@^1.2.10, which@^1.2.9: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.1.tgz#d2ea8aa2db2e66467e8b60cc3e897de3bc4429e6" + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: - string-width "^2.0.0" + string-width "^1.0.2" widest-line@^1.0.0: version "1.0.0"