diff --git a/package.json b/package.json index 9af1ac7b..96945c65 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "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: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" + "uglifyjs": "./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..f22fe61b 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}.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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9zdHlsZXMuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvbm90ZS1mb3JtLnNjc3MiLCIuLi8uLi8uLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3MvbWFwYm94LnNjc3MiLCIuLi8uLi8uLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3MvY29udGFjdHMuc2NzcyIsIi4uLy4uLy4uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9lbW9qaS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLEtBQ0ksOEJBQ0EsQUFEQSxzQkFDQSxjQUFlLENBQ2xCLHFCQUtHLDJCQUFtQixBQUFuQixrQkFBbUIsQ0FDdEIsS0NWRyxlQUNBLGNBQ0EsaUJBQ0Esa0JBQ0Esb0JBQXFCLENBQ3hCLFdBR0csaUJBQWtCLENBQ3JCLFNBR0csZ0JBQWlCLENBQ3BCLE1BR0csb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EsNEJBQXNCLEFBQXRCLDZCQUFzQixBQUF0QiwwQkFBc0IsQUFBdEIscUJBQXNCLENBQ3pCLGVBR0csb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EsOEJBQ0EsQUFEQSw2QkFDQSxBQURBLHVCQUNBLEFBREEsbUJBQ0EseUJBQ0EsQUFEQSxzQkFDQSxBQURBLDhCQUNBLGdCQUFpQixDQUNwQixVQUdHLGdCQUNBLFdBQ0EsNEJBQTZCLENBQ2hDLGNBR0csb0JBQ0EsQUFEQSxvQkFDQSxBQURBLGFBQ0EseUJBQW1CLEFBQW5CLHNCQUFtQixBQUFuQixrQkFBbUIsQ0FDdEIsa0JBR0csZ0JBQWlCLENBQ3BCLGlCQUdHLHFCQUNBLFdBQVksQ0FDZixhQUdH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 */ \ No newline at end of file diff --git a/public/assets/css/app.css.br b/public/assets/css/app.css.br index ff23df51..a9a5eb03 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..f2e8be03 100644 Binary files a/public/assets/css/app.css.gz and b/public/assets/css/app.css.gz differ 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/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..41cc0ca5 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 bec323e585cc25500ca1?bc38**","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 bec323e585cc25500ca1","//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..4b7eb765 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,dataId=div.dataset.id,data=window["geojson"+dataId];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.addSource("points",{type:"geojson",data:data}),map.addLayer({id:"points",interactive:!0,type:"symbol",source:"points",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__(4)),_parseLocation2=_interopRequireDefault(__webpack_require__(0)),_selectPlace2=_interopRequireDefault(__webpack_require__(3));_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(){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)},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 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,__webpack_require__){(function(global){var require;!function(f){module.exports=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 require(o,!0);if(i)return require(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,void 0!==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","getSource","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","_data","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","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","../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","eval","mapDivs","querySelectorAll","_mapboxUtils2"],"mappings":"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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,KAAA5uC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,IAAA4C,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,IAAA8jC,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,IAAAtuC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAmzB,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,IAAAnhB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAAugB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAA9xB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,GAAA,GAAA,KAAAsuC,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,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA/a,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,KAAAP,GAAA,GAAA,EAAA,GAAA,EAAA,IAAAub,GAAA,IAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA7b,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAhzB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAAgQ,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAA0jB,GAAA,IAAA,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,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,KAAAF,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,GAAA,EAAA,KAAAmE,GAAA,IAAA,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,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,IAAA,IAAAj3B,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,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAAyJ,GAAA,IAAA,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,IAAAkD,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,KAAAomB,GAAA,IAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,KAAAL,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,IAAAsE,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAA/2B,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,IAAAmuC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAAluC,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAmuC,KAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,GAAA,EAAA,IAAA,IAAAC,MAAA,IAAA,EAAA,GAAA,IAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,GAAA,EAAA,IAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAAvd,GAAA,IAAA,GAAA,EAAA,IAAA,IAAAwd,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,KAAA/vC,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAmB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,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,IAAAjK,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAE,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAwF,GAAA,IAAA,EAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAgD,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,KAAAwB,GAAA,IAAA,GAAA,GAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAP,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAAhK,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAAwK,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAI,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAA3K,GAAA,GAAA,EAAA,GAAA,EAAA,IAAAG,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAAY,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAAN,GAAA,IAAA,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,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,KAAAY,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,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,IAAAuJ,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA5B,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,KAAA1H,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAyH,GAAA,IAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,KAAAE,GAAA,IAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAAY,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,IAAAI,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAAG,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,IAAAJ,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAmH,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAA+nC,KAAo3I,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,GAAA,EAAA,GAAA,GAAA,IAAAC,KAAyN,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,QAChhQC,iBAAA,GAAAhI,iBAAA,GAAAiI,oBAAA,GAAAzD,kBAAA,IAAA0D,wBAAA,GAAA9H,oBAAA,IAAsI+H,IAAA,SAAAnwC,QAAAxJ,OAAAD,SACzI,YAAa,SAAA65C,UAAA3wC,EAAAjD,EAAAkD,EAAAjJ,GAA2B,GAAAmJ,GAAAH,EAAA28B,EAAWx8B,GAAA+sC,OAAA/sC,EAAA4qC,aAAyB,IAAA9zC,IAAAgJ,EAAA4qC,MAAA,iBAAA5qC,EAAAwgC,4BAAA,eAAAxgC,EAAAwgC,4BAAA,iBAAA,IAAAxgC,EAAA4qC,MAAA,cAAA,IAAA,IAAA5qC,EAAA4qC,MAAA,eAAsL7qC,GAAA8qC,eAAA7zC,IAAA+I,EAAAgrC,iBAAA,GAAA4F,cAAA5wC,EAAAjD,EAAAkD,EAAAjJ,EAAA65C,gBAAA7wC,EAAA8qC,cAAA7qC,EAAA4qC,MAAA,oBAAA7qC,EAAAotC,UAAA,GAAAptC,EAAAisC,WAAA,GAAAjsC,EAAAgrC,iBAAA/qC,EAAA6wC,iBAAA,sBAAA,EAAA,GAAAF,cAAA5wC,EAAAjD,EAAAkD,EAAAjJ,EAAA+5C,iBAAoQ,QAAAH,eAAA5wC,EAAAjD,EAAAkD,EAAAjJ,EAAAmJ,GAAkC,IAAA,GAAAlJ,IAAA,EAAAe,EAAA,EAAAN,EAAAV,EAAqBgB,EAAAN,EAAA0B,OAAWpB,GAAA,EAAA,CAAM,GAAA+H,GAAArI,EAAAM,GAAAO,EAAAwE,EAAAsR,QAAAtO,GAAAG,EAAA3H,EAAA2zC,UAAAjsC,EAA2CC,KAAAF,EAAAmtC,uBAAAptC,GAAAI,EAAAH,EAAAjD,EAAAkD,EAAA1H,EAAAwH,EAAAG,EAAA0wB,QAAA35B,GAAAA,GAAA,IAAgE,QAAA45C,cAAA7wC,EAAAjD,EAAAkD,EAAAjJ,EAAAmJ,EAAAlJ,EAAAe,GAAqC,IAAA,GAAAN,GAAAsI,EAAA28B,GAAA58B,EAAA9I,EAAAi4B,UAAAjvB,EAAAtG,IAAApB,EAAAy4C,eAAA,OAAA/wC,EAAA4qC,MAAA,gBAAA7qC,EAAAD,EAAAE,EAAAjJ,EAAAmJ,EAAAnI,GAAAkI,EAAA,EAAA5H,EAAArB,EAAAw4B,SAAiHvvB,EAAA5H,EAAAc,OAAW8G,GAAA,EAAA,CAAM,GAAAqB,GAAAjJ,EAAA4H,EAAWqB,GAAAu8B,KAAA79B,EAAAtG,IAAAsa,KAAAvc,EAAAa,EAAAtB,EAAAymC,mBAAAzmC,EAAA0mC,cAAA59B,EAAA89B,kBAAAt8B,EAAA+sB,cAAA52B,EAAAk1C,aAAAl1C,EAAAm1C,UAAA,EAAAtrC,EAAAktB,gBAAA/2B,EAAAo1C,eAAA,EAAAvrC,EAAAgtB,gBAAA,IAAuL,QAAAwiB,gBAAA/wC,EAAAjD,EAAAkD,EAAAjJ,EAAAmJ,EAAAlJ,EAAAe,GAAuC,GAAAN,GAAAsI,EAAA28B,GAAA58B,EAAA9I,EAAAi4B,UAAAjvB,EAAAtG,IAAAuG,EAAA8wC,eAAA,cAAA/wC,EAAA4qC,MAAA,kBAAA5qC,EAAA6wC,iBAAA,sBAAA9wC,EAAAD,EAAAE,EAAAjJ,EAAAmJ,EAAAnI,EAAkJN,GAAA20C,UAAAnsC,EAAA+wC,QAAAv5C,EAAAw5C,mBAAAx5C,EAAAy5C,oBAAkE,KAAA,GAAA74C,GAAA,EAAAiJ,EAAAtK,EAAAy4B,UAA0Bp3B,EAAAiJ,EAAAnI,OAAWd,GAAA,EAAA,CAAM,GAAAlB,GAAAmK,EAAAjJ,EAAWlB,GAAA0mC,KAAA79B,EAAAtG,IAAAsa,KAAAvc,EAAAwI,EAAAjJ,EAAAymC,mBAAAzmC,EAAA2mC,eAAA79B,EAAA89B,kBAAAzmC,EAAAk3B,cAAA52B,EAAAk1C,aAAAl1C,EAAA81C,MAAA,EAAAp2C,EAAAq3B,gBAAA/2B,EAAAo1C,eAAA,EAAA11C,EAAAm3B,gBAAA,IAAoL,QAAAyiB,gBAAAhxC,EAAAjD,EAAAkD,EAAAjJ,EAAAmJ,EAAAlJ,EAAAe,EAAAN,GAAyC,GAAAqI,GAAAxH,EAAA0H,EAAAmxC,cAAyB,OAAAr0C,IAAAgD,EAAAE,EAAAgrC,WAAAjrC,EAAA,UAAAhJ,EAAAq4B,uBAAA33B,GAAAqI,IAAAxH,KAAAvB,EAAAq4B,qBAAAwT,YAAA5iC,EAAA08B,GAAA58B,EAAAI,GAAuHpE,KAAAkE,EAAA4N,UAAA9R,OAAsBovC,QAAAtT,QAAA13B,EAAA0qC,MAAA,gBAAA5qC,EAAAF,IAAAorC,QAAAM,QAAAx0C,EAAAgJ,EAAAF,KAAAA,EAAAE,EAAAgrC,WAAAjrC,EAAAhJ,EAAAq4B,uBAAA33B,GAAAqI,IAAAxH,IAAAvB,EAAAq4B,qBAAAwT,YAAA5iC,EAAA08B,GAAA58B,EAAAI,GAA2KpE,KAAAkE,EAAA4N,UAAA9R,QAAsBkE,EAAA08B,GAAA+O,iBAAA3rC,EAAA4rC,UAAA,EAAA1rC,EAAAysC,mBAAA10C,EAAA20C,UAAA11C,EAAAkJ,EAAA0qC,MAAA,kBAAA1qC,EAAA0qC,MAAA,2BAAA9qC,EAAyI,GAAAorC,SAAA5qC,QAAA,YAAiCxJ,QAAAD,QAAA65C,WAC9jE7E,YAAA,KAAeuF,IAAA,SAAA9wC,QAAAxJ,OAAAD,SAClB,YAAa,SAAAw6C,MAAAtxC,EAAAjD,EAAAkD,EAAAjJ,GAAuB,GAAA,IAAAiJ,EAAA4qC,MAAA,0BAAA,CAA0C,GAAA1qC,GAAAH,EAAA28B,EAAWx8B,GAAAlE,QAAAkE,EAAA4qC,cAAA5qC,EAAA+sC,OAAA/sC,EAAAoxC,YAAAvxC,EAAAisC,WAAA,EAAiE,IAAA1zC,GAAA,GAAAi5C,kBAAArxC,EAAAH,EAAAC,EAAkC1H,GAAAk5C,kBAAAtxC,EAAAuxC,WAAA,EAAA,EAAA,EAAA,GAAAvxC,EAAA6E,MAAA7E,EAAAwxC,iBAAAxxC,EAAAyxC,iBAAyF,KAAA,GAAA1xC,GAAA,EAAYA,EAAAlJ,EAAAoC,OAAW8G,IAAA2xC,cAAA7xC,EAAAjD,EAAAkD,EAAAjJ,EAAAkJ,GAA8B3H,GAAAu5C,oBAAAv5C,EAAAw5C,eAAuC,QAAAP,kBAAAxxC,EAAAjD,EAAAkD,GAAiCQ,KAAAk8B,GAAA38B,EAAAS,KAAAuD,MAAAjH,EAAAiH,MAAAvD,KAAAwD,OAAAlH,EAAAkH,OAAAxD,KAAAuxC,QAAAj1C,EAAA0D,KAAAvD,MAAA+C,EAAAQ,KAAAwxC,QAAA,KAAAxxC,KAAAyxC,IAAA,KAAAzxC,KAAA0xC,KAAA1xC,KAAAuxC,QAAAI,QAAA3xC,KAAAuD,QAAAvD,KAAAuxC,QAAAI,QAAA3xC,KAAAuD,OAAAvD,KAAAwD,QAAwM,QAAA4tC,eAAA7xC,EAAAjD,EAAAkD,EAAAjJ,GAAgC,IAAAgJ,EAAA8qC,aAAA,CAAoB,GAAA3qC,GAAApD,EAAAsR,QAAArX,GAAAuB,EAAA4H,EAAA+rC,UAAAjsC,EAAoC,IAAA1H,EAAA,CAAM,GAAA2H,GAAA3H,EAAAq4B,QAAA7wB,EAAAC,EAAA28B,GAAA3kC,EAAAiI,EAAA4qC,MAAA,0BAAAnzC,EAAAwI,EAAAgvB,UAAAjvB,EAAAtG,IAAAqH,EAAAtJ,EAAA23B,qBAAA6D,EAAAlzB,EAAAirC,WAAAjzC,EAAA,uBAAA,gBAAAgJ,EAAmKA,GAAA6hC,YAAA9iC,EAAAmzB,EAAAjzB,GAAqBlE,KAAAiE,EAAA6N,UAAA9R,OAAsB/D,IAAAmzC,QAAAtT,QAAA7/B,EAAAgI,EAAAkzB,GAAAiY,QAAAM,QAAAtrC,EAAAH,EAAAkzB,GAAAnzB,EAAAgjC,UAAA7P,EAAAmf,iBAAA1xC,KAAA+F,IAAA,EAAA1P,EAAAoR,GAAAjI,EAAA6/B,SAAA,IAAAhgC,EAAA28B,GAAA+O,iBAAAxY,EAAAyY,UAAA,EAAA3rC,EAAA0sC,mBAAA11C,EAAA21C,UAAAxsC,EAAAF,EAAA4qC,MAAA,4BAAA5qC,EAAA4qC,MAAA,qCAAAyH,SAAApf,EAAAlzB,EAAwR,KAAA,GAAAoO,GAAA,EAAAnX,EAAAiJ,EAAAuvB,SAAyBrhB,EAAAnX,EAAAmC,OAAWgV,GAAA,EAAA,CAAM,GAAA/M,GAAApK,EAAAmX,EAAW/M,GAAAy8B,KAAA79B,EAAAtG,IAAAsa,KAAAlU,EAAAmzB,EAAAhzB,EAAAw9B,mBAAAx9B,EAAAy9B,cAAAjmC,EAAAmmC,kBAAAx8B,EAAAitB,cAAAvuB,EAAA6sC,aAAA7sC,EAAA8sC,UAAA,EAAAxrC,EAAAotB,gBAAA1uB,EAAA+sC,eAAA,EAAAzrC,EAAAktB,gBAAA,MAAyL,QAAA+jB,UAAAtyC,EAAAjD,GAAuB,GAAAkD,GAAAlD,EAAA4/B,GAAA3lC,EAAA+F,EAAAlB,MAAA02C,MAAApyC,EAAAnJ,EAAAw7C,WAAAt5C,SAAAX,GAAA4H,EAAAkB,EAAAlB,EAAAc,EAAAd,EAAAiI,GAAAlI,EAAAqC,KAAAH,QAAmF,cAAApL,EAAAw7C,WAAA5Z,QAAAr2B,KAAAC,aAAAtC,GAAAnD,EAAA8Q,UAAAyQ,OAAAvc,KAAAC,cAAAzJ,EAAAA,EAAA2H,GAAAD,EAAAwyC,WAAAzyC,EAAA0yC,WAAAn6C,GAAA0H,EAAA8iC,UAAA/iC,EAAA2yC,iBAAA37C,EAAAw7C,WAAAI,WAAA3yC,EAAAwyC,WAAAzyC,EAAA6yC,aAAA77C,EAAAw7C,WAAAM,MAAAt0C,MAAA,EAAA,IAAmP,GAAAgC,UAAAD,QAAA,qBAAAsW,OAAAtW,QAAA,kBAAAk9B,kBAAAl9B,QAAA,yBAAA8gC,SAAA9gC,QAAA,qBAAA4qC,QAAA5qC,QAAA,aAAAgC,KAAA/B,SAAA+B,KAAAE,KAAAjC,SAAAiC,KAAAV,KAAAvB,SAAAuB,IAA0PhL,QAAAD,QAAAw6C,KAAAE,iBAAAp5C,UAAAq5C,gBAAA,WAA0E,GAAAzxC,GAAAS,KAAAk8B,EAAc,IAAAl8B,KAAAwxC,QAAAxxC,KAAAuxC,QAAAe,mBAAAtyC,KAAAuD,MAAAvD,KAAAwD,QAAAjE,EAAAgzC,cAAAhzC,EAAAizC,UAAAxyC,KAAAwxC,QAAAjyC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,UAAAxxC,KAAAwxC,QAAAjyC,EAAAozC,gBAAApzC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,SAAAjyC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAszC,eAAAtzC,EAAAuzC,eAAAvzC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAwzC,eAAAxzC,EAAAuzC,eAAAvzC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAyzC,mBAAAzzC,EAAA0zC,QAAA1zC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAA2zC,mBAAA3zC,EAAA0zC,QAAA1zC,EAAA4zC,WAAA5zC,EAAAmzC,WAAA,EAAAnzC,EAAA6zC,KAAApzC,KAAAuD,MAAAvD,KAAAwD,OAAA,EAAAjE,EAAA6zC,KAAA7zC,EAAA8zC,cAAA,MAAArzC,KAAAwxC,QAAAjuC,MAAAvD,KAAAuD,MAAAvD,KAAAwxC,QAAAhuC,OAAAxD,KAAAwD,QAAAxD,KAAA0xC,KAAA1xC,KAAAyxC,IAAAzxC,KAAA0xC,KAAAlkC,MAAAjO,EAAAyxC,gBAAAzxC,EAAA+zC,YAAAtzC,KAAAyxC,KAAAlyC,EAAAg0C,qBAAAh0C,EAAA+zC,YAAA/zC,EAAAi0C,kBAAAj0C,EAAAmzC,WAAA1yC,KAAAwxC,QAAA,OAAoxB,CAAKxxC,KAAAyxC,IAAAlyC,EAAAk0C,oBAAAl0C,EAAAyxC,gBAAAzxC,EAAA+zC,YAAAtzC,KAAAyxC,IAAyE,IAAAn1C,GAAAiD,EAAAm0C,oBAA6Bn0C,GAAAo0C,iBAAAp0C,EAAAq0C,aAAAt3C,GAAAiD,EAAAs0C,oBAAAt0C,EAAAq0C,aAAAr0C,EAAAu0C,kBAAA9zC,KAAAuD,MAAAvD,KAAAwD,QAAAjE,EAAAw0C,wBAAAx0C,EAAA+zC,YAAA/zC,EAAAy0C,iBAAAz0C,EAAAq0C,aAAAt3C,GAAAiD,EAAAg0C,qBAAAh0C,EAAA+zC,YAAA/zC,EAAAi0C,kBAAAj0C,EAAAmzC,WAAA1yC,KAAAwxC,QAAA,KAA0RT,iBAAAp5C,UAAA05C,kBAAA,WAAyDrxC,KAAAuxC,QAAA0C,yBAAAj0C,KAAA0xC,KAAA1xC,KAAA0xC,KAAA92C,KAAAoF,KAAAyxC,MAAAzxC,KAAAuxC,QAAAI,QAAA3xC,KAAAuD,SAAAvD,KAAAuxC,QAAAI,QAAA3xC,KAAAuD,WAAgJvD,KAAAuxC,QAAAI,QAAA3xC,KAAAuD,OAAAvD,KAAAwD,SAAAxD,KAAAyxC,MAAAzxC,KAAAuxC,QAAA2C,oBAAAl0C,KAAAwxC,UAA2GT,iBAAAp5C,UAAA25C,YAAA,WAAmD,GAAA/xC,GAAAS,KAAAk8B,GAAA5/B,EAAA0D,KAAAuxC,QAAA/xC,EAAAlD,EAAAkuC,WAAA,mBAAgEjrC,GAAAgzC,cAAAhzC,EAAA40C,UAAA50C,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,SAAAjyC,EAAA+iC,UAAA9iC,EAAAurC,UAAA/qC,KAAAvD,MAAA2tC,MAAA,2BAAA7qC,EAAAmsC,UAAAlsC,EAAA40C,QAAA,GAAA70C,EAAA0rC,iBAAAzrC,EAAA0rC,UAAA,EAAAlpC,KAAAQ,MAAAR,KAAAL,SAAA,EAAArF,EAAAiH,MAAAjH,EAAAkH,OAAA,EAAA,EAAA,IAAAjE,EAAA/D,QAAA+D,EAAAuxC,YAAAvxC,EAAAqsC,UAAApsC,EAAAgxC,QAAAjxC,EAAAkxC,mBAAAlxC,EAAAmxC,oBAAiV,IAAAn6C,GAAA,GAAAqqC,SAAmBrqC,GAAA06B,YAAA,EAAA,GAAA16B,EAAA06B,YAAA,EAAA,GAAA16B,EAAA06B,YAAA,EAAA,GAAA16B,EAAA06B,YAAA,EAAA,EAA4E,IAAAvxB,GAAA0W,OAAA4lB,gBAAAzlC,EAAA6f,OAAAwmB,WAAAC,SAAA,GAAAG,oBAAiFxpB,KAAAjU,EAAAC,EAAAE,GAAAH,EAAA4rC,WAAA5rC,EAAA6rC,eAAA,EAAA,GAAA7rC,EAAAktC,OAAAltC,EAAAuxC,eACznIhB,iBAAA,GAAAC,oBAAA,GAAA1E,YAAA,GAAA2E,wBAAA,GAAA9H,oBAAA,IAA2GmM,IAAA,SAAAv0C,QAAAxJ,OAAAD,SAC9G,YAAa,SAAAi+C,cAAAh4C,EAAA/F,EAAAgJ,EAAAC,EAAAE,EAAAnI,EAAAN,EAAAqI,EAAAxH,GAAyC,GAAAtB,GAAAiJ,EAAA9I,EAAAs7B,EAAAp6B,EAAAtB,EAAA2lC,GAAAp7B,EAAApB,EAAA0qC,MAAA,kBAAAtzC,EAAA4I,EAAA0qC,MAAA,eAAyE,IAAA9qC,GAAAxH,EAAA,CAAS,GAAAuI,GAAA,EAAAk0C,kBAAAh1C,EAAA,EAAAhJ,EAAA6W,UAAA44B,SAAoD,IAAAllC,EAAA,CAAMtK,EAAAD,EAAAi+C,UAAAC,QAAA3zC,EAAA4zC,KAAA,UAAAh1C,EAAAxD,OAAA,aAAAuD,EAAAlJ,EAAAi+C,UAAAC,QAAA3zC,EAAA6zC,GAAA,UAAAj1C,EAAAxD,OAAA,YAAwH,IAAAyR,GAAAnX,EAAA+M,MAAAzC,EAAA8zC,UAAAr0C,EAAAd,EAAA8D,MAAAzC,EAAA+zC,OAA8Ch9C,GAAA+zC,UAAAtvC,EAAAw4C,iBAAAz0C,EAAAsN,GAAAnX,EAAAgN,OAAA,GAAA3L,EAAA+zC,UAAAtvC,EAAAy4C,iBAAA10C,EAAAE,GAAAd,EAAA+D,OAAA,GAAA3L,EAAAyqC,UAAAhmC,EAAA04C,WAAAz+C,EAAAi+C,UAAAjxC,OAAA,IAAArD,KAAAgK,IAAAyD,EAAApN,GAAAif,QAAAwsB,kBAAA,OAA2L,IAAAl1C,EAAA,CAAW,GAAAH,EAAAJ,EAAA0+C,YAAAC,YAAAp+C,EAAA49C,MAAA,GAAAziB,EAAA17B,EAAA0+C,YAAAC,YAAAp+C,EAAA69C,IAAA,IAAAh+C,IAAAs7B,EAAA,MAA6Fp6B,GAAA+zC,UAAAtvC,EAAA64C,iBAAAx+C,EAAA4uC,KAAA,GAAAzuC,EAAA89C,UAAAv0C,EAAA4xB,EAAAsT,KAAA,IAAA1tC,EAAA+zC,UAAAtvC,EAAA84C,iBAAAnjB,EAAAsT,KAAA,GAAAzuC,EAAA+9C,QAAAx0C,EAAA4xB,EAAAsT,KAAA,IAAkI1tC,EAAA+zC,UAAAtvC,EAAA+4C,qBAAA,EAAA9+C,EAAA6W,UAAAy5B,gBAAA,GAAA,EAAAtwC,EAAA6W,UAAAy5B,gBAAA,IAAsGvnC,IAAAwB,GAAAjJ,EAAA6zC,UAAApvC,EAAA83C,QAAA,GAAAv8C,EAAA06C,cAAA16C,EAAAs8C,UAAA59C,EAAAi+C,UAAAhhC,KAAA3b,GAAAA,EAAAyqC,UAAAhmC,EAAAg5C,UAAA9+C,EAAAgK,GAAA3I,EAAAyqC,UAAAhmC,EAAAi5C,UAAA91C,EAAAe,GAAA3I,EAAAyqC,UAAAhmC,EAAAk5C,MAAA10C,EAAAvB,IAAAzI,IAAAe,EAAA6zC,UAAApvC,EAAA83C,QAAA,GAAAv8C,EAAA06C,cAAA16C,EAAAs8C,UAAA59C,EAAA0+C,YAAAzhC,KAAA3b,GAAA,GAAAA,EAAAi0C,WAAAxvC,EAAAm5C,eAAA9+C,EAAA0iC,IAAAxhC,EAAAi0C,WAAAxvC,EAAAo5C,eAAA/+C,EAAA6iC,IAAA3hC,EAAAi0C,WAAAxvC,EAAAq5C,eAAA1jB,EAAAoH,IAAAxhC,EAAAi0C,WAAAxvC,EAAAs5C,eAAA3jB,EAAAuH,IAAA3hC,EAAAyqC,UAAAhmC,EAAAu5C,OAAA/+C,EAAAyI,IAAA1H,EAAAyqC,UAAAhmC,EAAAw5C,QAAAp2C,EAAA0qC,MAAA,gBAAA7zC,EAAAm2C,uBAAAn1C,EAA2e,IAAAqJ,GAAArK,EAAA01C,mBAAA10C,EAAA20C,UAAA3sC,EAAAG,EAAA0qC,MAAA,kBAAA1qC,EAAA0qC,MAAA,yBAAqGvyC,GAAAozC,iBAAA3uC,EAAA4uC,UAAA,EAAAtqC,GAAA/I,EAAAyqC,UAAAhmC,EAAAy5C,QAAA,EAAAxB,kBAAAh1C,EAAA,EAAAhJ,EAAA6W,UAAA9R,MAAqG,KAAA,GAAAuF,GAAA,EAAAjK,EAAA4I,EAAAwvB,SAAyBnuB,EAAAjK,EAAA+B,OAAWkI,GAAA,EAAA,CAAM,GAAAJ,GAAA7J,EAAAiK,EAAWJ,GAAA48B,KAAA39B,EAAAxG,IAAAsa,KAAA3b,EAAAyE,EAAAkD,EAAAy9B,mBAAAz9B,EAAA09B,cAAAjmC,EAAAmmC,kBAAA38B,EAAAotB,cAAAh2B,EAAAs0C,aAAAt0C,EAAAu0C,UAAA,EAAA3rC,EAAAutB,gBAAAn2B,EAAAw0C,eAAA,EAAA5rC,EAAAqtB,gBAAA,IAAuL,GAAAtO,SAAA1f,QAAA,mBAAAy0C,kBAAAz0C,QAAA,iCAAmGxJ,QAAAD,QAAA,SAAAiG,EAAA/F,EAAAgJ,EAAAC,GAAiC,IAAAlD,EAAA+tC,aAAA,CAAoB/tC,EAAAiuC,iBAAA,GAAAjuC,EAAAkvC,WAAA,EAAsC,IAAA9rC,GAAApD,EAAA4/B,EAAW,IAAAx8B,EAAA+sC,OAAA/sC,EAAA4qC,gBAAA/qC,EAAA6qC,MAAA,eAAA,GAAA,IAAA,GAAA7yC,GAAAN,EAAAsI,EAAA6qC,MAAA,kBAAA,UAAA7qC,EAAA6qC,MAAA,gBAAA,cAAA,OAAA9qC,GAAA,EAAAxH,EAAA,EAAAtB,EAAAgJ,EAAkK1H,EAAAtB,EAAAmC,OAAWb,GAAA,EAAA,CAAM,GAAA2H,GAAAjJ,EAAAsB,GAAAnB,EAAAJ,EAAAqX,QAAAnO,GAAAwyB,EAAAt7B,EAAA80C,UAAAlsC,EAA2C,IAAA0yB,EAAA,CAAM,GAAAp6B,GAAAo6B,EAAA9B,QAAA1B,UAAAlvB,EAAArG,IAAA4H,EAAAxE,EAAAq0C,eAAA75C,EAAAwF,EAAAkuC,WAAAvzC,EAAAY,EAAA+2B,sBAAAvuB,EAAAf,GAAAxI,IAAAgK,EAAA6M,EAAApW,IAAAZ,EAAAmoC,MAAAn3B,CAAuHtH,IAAAxI,EAAA+2B,qBAAAwT,YAAA9lC,EAAA4/B,GAAAplC,EAAAyI,GAAgDjE,KAAAgB,EAAA8Q,UAAA9R,OAAsBg5C,aAAAx9C,EAAAwF,EAAA3F,EAAAs7B,EAAA9B,QAAA5wB,EAAAE,EAAA5H,EAAAwI,EAAAsN,GAAApW,EAAAZ,EAAAmoC,MAAAn3B,EAAArI,GAAA,QAC33E02C,iCAAA,GAAA1J,kBAAA,MAA0D2J,IAAA,SAAAn2C,QAAAxJ,OAAAD,SAC7D,YAAa,SAAA6/C,YAAA12C,EAAAD,EAAAjD,EAAAoD,GAA6B,IAAAF,EAAA6qC,aAAA,CAAoB,GAAA9zC,GAAAiJ,EAAA08B,EAAW3lC,GAAAk2C,OAAAl2C,EAAAu6C,YAAAtxC,EAAAgsC,WAAA,GAAAj1C,EAAA4/C,UAAA5/C,EAAA6/C,KAA2D,KAAA,GAAAn/C,GAAAyI,EAAA/G,QAAA+G,EAAA,GAAAiI,EAAApQ,EAAA,EAA+BA,EAAAmI,EAAA/G,OAAWpB,IAAA,CAAK,GAAAkI,GAAAC,EAAAnI,EAAWiI,GAAA+qC,iBAAA9qC,EAAAkI,EAAA1Q,GAAAo/C,eAAA72C,EAAAD,EAAAjD,EAAAmD,GAAkDlJ,EAAA4/C,UAAA5/C,EAAA+/C,SAAuB,QAAAD,gBAAA72C,EAAAD,EAAAjD,EAAAoD,GAAiC,GAAAnJ,GAAAiJ,EAAA08B,EAAW3lC,GAAAiF,QAAAjF,EAAA+zC,aAA0B,IAAArzC,GAAAsI,EAAAqO,QAAAlO,GAAAnI,EAAAiI,EAAA4N,UAAAm6B,mBAAA7nC,EAAAH,EAAAg3C,YAAA7P,QAA6EzvC,GAAAu/C,qBAAAh3C,EAAApE,MAAAq7C,cAAAn6C,EAAA8tC,MAAA,wBAA8E,IAAA3qC,GAAAD,EAAAgrC,WAAA,SAA6Bj0C,GAAA00C,iBAAAxrC,EAAAyrC,UAAA,EAAA3zC,GAAAhB,EAAA+rC,UAAA7iC,EAAAi3C,iBAAAp6C,EAAA8tC,MAAA,0BAAA7zC,EAAA+rC,UAAA7iC,EAAAk3C,kBAAAr6C,EAAA8tC,MAAA,0BAAA7zC,EAAA+rC,UAAA7iC,EAAAm3C,oBAAAC,iBAAAv6C,EAAA8tC,MAAA,uBAAA7zC,EAAA+rC,UAAA7iC,EAAAq3C,kBAAAC,eAAAz6C,EAAA8tC,MAAA,qBAAA7zC,EAAAy7C,WAAAvyC,EAAAu3C,eAAAC,YAAA36C,EAAA8tC,MAAA,sBAA8Y,IAAAtyC,GAAAlB,EAAA0I,EAAArI,EAAAigD,aAAAjgD,EAAAigD,YAAAC,iBAAAz3C,EAAA,MAA8D5I,EAAAsgD,cAAAngD,EAAAqI,EAAAhD,EAAAkD,EAAA4N,UAAqC7W,GAAAg8C,cAAAh8C,EAAA49C,UAAA59C,EAAAk8C,YAAAl8C,EAAAm8C,WAAAz7C,EAAAu6C,SAAAj7C,EAAAg8C,cAAAh8C,EAAAi8C,UAAAlzC,GAAA/I,EAAAk8C,YAAAl8C,EAAAm8C,WAAApzC,EAAAkyC,SAAA15C,EAAAoI,KAAA+F,IAAA,EAAA3G,EAAAw/B,MAAAn3B,EAAA1Q,EAAA6nC,MAAAn3B,GAAA/Q,GAAAK,EAAA6nC,MAAAl+B,EAAA9I,EAAA,EAAAb,EAAA6nC,MAAAt+B,EAAA1I,EAAA,IAAAvB,EAAAk8C,YAAAl8C,EAAAm8C,WAAAz7C,EAAAu6C,SAAAj7C,EAAAu1C,WAAArsC,EAAA43C,YAAAzgD,IAAA,EAAA,IAAAL,EAAA+rC,UAAA7iC,EAAA63C,eAAAx/C,GAAA,GAAAvB,EAAA+rC,UAAA7iC,EAAA83C,eAAA,GAAAhhD,EAAA+rC,UAAA7iC,EAAA+3C,SAAA1gD,EAAA2gD,KAAAlhD,EAAA+rC,UAAA7iC,EAAAsrC,UAAAj0C,EAAA4gD,QAAAp7C,EAAA8tC,MAAA,mBAAA7zC,EAAAm1C,UAAAjsC,EAAAk4C,SAAA,GAAAphD,EAAAm1C,UAAAjsC,EAAAm4C,SAAA,EAAue,IAAAjhD,GAAAM,EAAA4gD,cAAAr4C,EAAAs4C,oBAAA7gD,EAAA8gD,WAAAv4C,EAAAw4C,iBAA4ExkC,KAAAjd,EAAAkJ,EAAA9I,GAAAJ,EAAA40C,WAAA50C,EAAA60C,eAAA,EAAAz0C,EAAAgC,QAAwD,QAAAs+C,aAAAz3C,GAAwBA,GAAAU,KAAAgG,GAAA,GAAe,IAAA3G,GAAAW,KAAAC,IAAAX,GAAAlD,EAAA4D,KAAAE,IAAAZ,EAAgC,SAAA,EAAAlD,EAAA,GAAA,IAAA4D,KAAA2R,KAAA,GAAAtS,EAAAjD,EAAA,GAAA,GAAA4D,KAAA2R,KAAA,GAAAtS,EAAAjD,EAAA,GAAA,GAAiE,QAAAy6C,gBAAAv3C,GAA2B,MAAAA,GAAA,EAAA,GAAA,EAAAA,GAAA,EAAAA,EAAuB,QAAAq3C,kBAAAr3C,GAA6B,MAAAA,GAAA,EAAA,EAAA,GAAA,MAAAA,IAAAA,EAA4B,QAAA43C,eAAA53C,EAAAD,EAAAjD,EAAAoD,GAAgC,GAAAnJ,GAAA+F,EAAA8tC,MAAA,uBAAsC,IAAA5qC,EAAA03C,aAAA3gD,EAAA,EAAA,CAAuB,GAAAU,GAAA4qB,KAAAC,MAAAvqB,GAAAN,EAAAuI,EAAAy4C,WAAA1hD,EAAAkJ,EAAAF,GAAAtI,EAAAsI,EAAA04C,WAAA1hD,GAAA,EAAAuB,EAAA0H,EAAA03C,YAAAX,YAAA3/C,EAAA8I,EAAAymC,mBAAiH5G,SAAAznC,EAAAynC,SAAA6G,UAAAtuC,EAAAsuC,YAA0C9mC,GAAAC,GAAAW,KAAAsF,IAAAjG,EAAAu/B,MAAAn3B,EAAA/Q,GAAAsJ,KAAAsF,IAAAhG,EAAAs/B,MAAAn3B,EAAA/Q,GAAAE,EAAAwI,GAAAE,EAAA04C,wBAAA,EAAApoB,KAAA+V,MAAAvmC,EAAA/H,EAAA,EAAAkI,EAAA,EAAA,EAA6G,OAAAD,GAAA04C,yBAAA3gD,GAAA,IAAAiI,EAAA04C,yBAAA,GAAA34C,GAA0Em4C,QAAA,EAAAD,IAAA,EAAA3gD,IAAoB4gD,QAAA5gD,EAAA2gD,IAAA,GAAiB,OAAOC,QAAA,EAAAD,IAAA,GAAiB,GAAA3nB,MAAAhwB,QAAA,eAAiCxJ,QAAAD,QAAA6/C,aAC91EtlB,eAAA,MAAmBunB,IAAA,SAAAr4C,QAAAxJ,OAAAD,SACtB,YAAa,SAAA+hD,aAAA74C,EAAAjD,EAAA/F,EAAAU,GAA8B,IAAAsI,EAAA8qC,aAAA,CAAoB,GAAA3qC,KAAAnJ,EAAA2F,OAAA,uBAAA3F,EAAA2F,OAAA,uBAAA3F,EAAA2F,OAAA,0BAAA3F,EAAA2F,OAAA,0BAAA3E,EAAAgI,EAAA28B,EAAqJx8B,GAAAnI,EAAAiE,QAAAjE,EAAA+yC,cAAA/yC,EAAAk1C,OAAAl1C,EAAA+yC,cAAA/qC,EAAAgrC,iBAAA,GAAAhrC,EAAAisC,WAAA,GAAA6M,iBAAA94C,EAAAjD,EAAA/F,EAAAU,GAAA,EAAAV,EAAA6zC,MAAA,kBAAA7zC,EAAA6zC,MAAA,yBAAA7zC,EAAA2F,OAAA,2BAAA3F,EAAA2F,OAAA,4BAAAm8C,iBAAA94C,EAAAjD,EAAA/F,EAAAU,GAAA,EAAAV,EAAA6zC,MAAA,kBAAA7zC,EAAA6zC,MAAA,yBAAA7zC,EAAA2F,OAAA,2BAAA3F,EAAA2F,OAAA,yBAAAI,EAAAtB,IAAAs9C,oBAAA9L,mBAAAjtC,EAAAjD,EAAA/F,EAAAU,IAA+c,QAAAohD,kBAAA94C,EAAAjD,EAAA/F,EAAAU,EAAAyI,EAAAnI,EAAAiI,EAAA1H,EAAAtB,GAA6C,GAAAkJ,IAAAH,EAAAnE,MAAAm9C,QAAAh5C,EAAAnE,MAAAm9C,OAAAC,SAAA,CAAgD,GAAA/4C,GAAAF,EAAA28B,GAAAvlC,EAAA,QAAAmB,EAAAwH,EAAA,QAAA9I,EAAAI,EAAA0I,CAAuC1I,GAAA6I,EAAAgtC,OAAAhtC,EAAAqxC,YAAArxC,EAAAjE,QAAAiE,EAAAqxC,WAAiD,KAAA,GAAAj5C,GAAAo6B,EAAAnxB,EAAA,EAAAN,EAAAvJ,EAAoB6J,EAAAN,EAAA7H,OAAWmI,GAAA,EAAA,CAAM,GAAAhK,GAAA0J,EAAAM,GAAA6M,EAAArR,EAAAsR,QAAA9W,GAAAuJ,EAAAsN,EAAA89B,UAAAl1C,EAA2C,IAAA8J,EAAA,CAAM,GAAAE,GAAAb,EAAAW,EAAA8vB,QAAAoG,MAAAl2B,EAAA8vB,QAAAx2B,IAAuC,IAAA4G,GAAAA,EAAAyuB,SAAAr2B,OAAA,CAAyB,GAAAkI,GAAAN,EAAAkuB,UAAAl4B,EAAA2C,IAAA01B,qBAAAnkB,EAAA/K,GAAAW,EAAAs2B,SAAAhvB,EAAAjI,EAAAW,EAAAy2B,aAAAz2B,EAAA02B,YAAmGl/B,IAAAwI,EAAAw2B,YAAA5E,IAAAp6B,EAAA0H,EAAAirC,WAAA//B,EAAA,YAAA,aAAA5J,GAAAA,EAAAuhC,YAAA3iC,EAAA5H,EAAAtB,GAAuF+E,KAAAiE,EAAA6N,UAAA9R,OAAsBm9C,mBAAA5gD,EAAA0H,EAAAhJ,EAAAO,EAAA6Q,EAAAjI,EAAA+K,EAAA9T,EAAA2I,EAAAe,EAAAw2B,UAAAx2B,EAAAu2B,gBAAAjvB,IAAApI,EAAAmtC,uBAAA51C,GAAA2I,EAAAwrC,iBAAApzC,EAAAqzC,UAAA,EAAA3rC,EAAA0sC,mBAAAn1C,EAAAo1C,UAAAv+B,EAAApW,EAAAiI,IAAAk5C,gBAAA7gD,EAAAgJ,EAAAtB,EAAAhJ,EAAAoX,EAAApN,EAAAb,EAAA+K,EAAAnL,GAAA2yB,EAAA5xB,EAAAw2B,YAAkOjgC,GAAA6I,EAAAgtC,OAAAhtC,EAAAqxC,aAA2B,QAAA2H,oBAAAl5C,EAAAjD,EAAA/F,EAAAU,EAAAyI,EAAAnI,EAAAiI,EAAA1H,EAAAtB,EAAAiJ,EAAA9I,GAAmD,GAAA2I,GAAAhD,EAAA4/B,GAAAtlC,EAAA0F,EAAA8Q,SAAyB,IAAA9N,EAAAosC,UAAAnsC,EAAAo5C,kBAAAn5C,GAAAF,EAAAosC,UAAAnsC,EAAAq5C,iBAAA9gD,GAAAwH,EAAAizC,cAAAjzC,EAAA60C,UAAA70C,EAAAosC,UAAAnsC,EAAAs5C,UAAA,GAAAv5C,EAAAgjC,UAAA/iC,EAAAu5C,UAAAp5C,EAAA,EAAA,GAAAA,EAAA,CAAiK,GAAA7H,GAAArB,GAAA8F,EAAAy8C,YAAAC,cAAAxiD,EAAwC,KAAAqB,EAAA,MAAaA,GAAAohD,cAAA35C,GAAAA,EAAAssC,UAAArsC,EAAA25C,UAAArhD,EAAA0L,MAAA,EAAA1L,EAAA2L,OAAA,OAAiE,CAAK,GAAAyuB,GAAA31B,EAAAsP,QAAAutC,UAAA78C,EAAAsP,QAAAwtC,QAAqL54C,GAArLjK,EAAAi+B,6BAAA,eAAAj+B,EAAAm+B,0BAAA,cAAA,IAAAn+B,EAAAq+B,eAAA,aAAyKt5B,KAAA1E,EAAA0E,QAAYkkB,QAAAwsB,mBAAA1vC,EAAA24C,YAAApd,YAAAp4B,EAAA3I,EAAAgB,GAAAlB,EAAA4uC,KAA2ElpC,GAAA24C,YAAAzhC,KAAAlU,EAAA/H,GAAA06B,GAAAzxB,GAAA1J,GAAAwI,EAAAssC,UAAArsC,EAAA25C,UAAA58C,EAAA24C,YAAA1xC,MAAA,EAAAjH,EAAA24C,YAAAzxC,OAAA,GAAuG,GAAAlE,EAAAizC,cAAAjzC,EAAAkzC,UAAAl2C,EAAA+8C,aAAA7lC,KAAAlU,GAAAA,EAAAosC,UAAAnsC,EAAA+5C,cAAA,GAAAh6C,EAAAgjC,UAAA/iC,EAAAstC,OAAAj2C,EAAA0E,MAAAgE,EAAAgjC,UAAA/iC,EAAAg6C,QAAA3iD,EAAA4uC,MAAA,IAAA,EAAAtlC,KAAAgG,IAAA5G,EAAAgjC,UAAA/iC,EAAAi6C,UAAA5iD,EAAAgpC,QAAA,IAAA,EAAA1/B,KAAAgG,IAAA5G,EAAAgjC,UAAA/iC,EAAAk6C,eAAA7iD,EAAA2M,MAAA3M,EAAA4M,QAAAlE,EAAAosC,UAAAnsC,EAAAm6C,wBAAA/iD,EAAA89B,eAAA,EAAA,GAAAn1B,EAAAosC,UAAAnsC,EAAAo6C,2BAAAhjD,EAAA49B,kBAAA,EAAA,GAAA59B,EAAA89B,gBAAA99B,EAAA49B,kBAAA,GAAA59B,EAAA49B,oBAAA59B,EAAA89B,eAAA,CAA8c,GAAA9mB,EAAM,IAAA,aAAAhX,EAAAw+B,aAAAxnB,EAAApX,EAAAq+B,eAAAl1B,EAAA,YAAA,aAA6EpE,KAAA1E,EAAA0E,WAAc,CAAK,GAAA+E,GAAA,aAAA1J,EAAAw+B,aAAA,EAAAykB,oBAAAhjD,EAAA0E,KAAA3E,EAAAq+B,aAAAr+B,EAAAm+B,kBAAA,GAAAn+B,EAAAm+B,kBAAA,IAAAv0B,EAAA5J,EAAAo+B,mBAAA,EAAiLpnB,GAAApN,GAAjL5J,EAAAo+B,mBAAA,GAAiLx0B,GAAAuvB,KAAA+V,MAAAxlC,EAAA,EAAA,GAA4Bf,EAAAgjC,UAAA/iC,EAAAs6C,OAAAlsC,GAAArO,EAAAgjC,UAAA/iC,EAAAu6C,cAAAnjD,EAAAg+B,gBAAkEh+B,GAAA49B,mBAAA59B,EAAA89B,gBAAAn1B,EAAAgjC,UAAA/iC,EAAAs6C,OAAAljD,EAAAg+B,gBAA+E,CAAK,GAAA9zB,GAAA+4C,oBAAAhjD,EAAA0E,KAAA3E,EAAAq+B,aAAAr+B,EAAAm+B,kBAAA,GAAAn+B,EAAAm+B,kBAAA,GAA+Fx1B,GAAAgjC,UAAA/iC,EAAAw6C,SAAAjqB,KAAA+V,MAAAhlC,EAAA,EAAA,KAA2C,QAAA63C,iBAAAn5C,EAAAjD,EAAA/F,EAAAU,EAAAyI,EAAAnI,EAAAiI,EAAA1H,EAAAtB,GAA4C,GAAAiJ,GAAAlJ,EAAA2lC,GAAAvlC,EAAAJ,EAAA6W,SAAyB,IAAA5W,EAAA,CAAM,GAAA8I,GAAAi1C,kBAAA70C,EAAA,EAAA/I,EAAA2E,KAAoCmE,GAAAmsC,UAAArsC,EAAAssC,gBAAAvsC,EAAAA,OAAmC,CAAK,GAAA1I,GAAAD,EAAAkxC,sBAA+BpoC,GAAAmsC,UAAArsC,EAAAssC,gBAAAl1C,EAAAkwC,gBAAA,GAAAjwC,EAAAD,EAAAkwC,gBAAA,GAAAjwC,GAA6E,GAAAkB,EAAA,CAAM,GAAAD,IAAA2H,EAAA,OAAA,QAAA,cAAAyyB,GAAAh7B,EAAA+oC,4BAAAnoC,IAAAZ,EAAAmzC,MAAAvyC,GAAAiJ,GAAAtK,EAAA0J,KAAAE,IAAAzJ,EAAAsuC,QAAA,GAAAtuC,EAAAkxC,sBAA0IpoC,GAAA6iC,UAAA/iC,EAAAy6C,cAAAl5C,GAAAmxB,IAAAxyB,EAAA6iC,UAAA/iC,EAAA06C,UAAA,GAAAC,mBAAA3iD,EAAAN,EAAAwI,EAAAF,IAAAE,EAAA6iC,UAAA/iC,EAAA06C,UAAA,GAAsHC,mBAAA3iD,EAAAN,EAAAwI,EAAAF,GAA4B,QAAA26C,oBAAA36C,EAAAjD,EAAA/F,EAAAU,GAAqC,IAAA,GAAAyI,GAAAH,EAAAkvB,UAAAnyB,EAAApD,IAAA3B,EAAAmI,GAAAA,EAAA09B,kBAAA59B,EAAA,EAAA1H,EAAAyH,EAAAyvB,SAAsExvB,EAAA1H,EAAAa,OAAW6G,GAAA,EAAA,CAAM,GAAAhJ,GAAAsB,EAAA0H,EAAWhJ,GAAA6mC,KAAA/gC,EAAApD,IAAAsa,KAAAjd,EAAAU,EAAAsI,EAAA09B,mBAAA19B,EAAA29B,cAAA3lC,EAAAf,EAAAq3B,cAAAt3B,EAAA41C,aAAA51C,EAAA61C,UAAA,EAAA51C,EAAAw3B,gBAAAz3B,EAAA81C,eAAA,EAAA71C,EAAAs3B,gBAAA,IAAqK,GAAAgC,MAAAhwB,QAAA,gBAAA0f,QAAA1f,QAAA,mBAAA0sC,mBAAA1sC,QAAA,0BAAAy0C,kBAAAz0C,QAAA,kCAAA85C,oBAAA95C,QAAA,0BAAA85C,mBAA+PtjD,QAAAD,QAAA+hD,cACxvIpC,iCAAA,GAAAmE,yBAAA,IAAA7N,kBAAA,IAAA1b,eAAA,IAAAwpB,yBAAA,KAAsIC,IAAA,SAAAv6C,QAAAxJ,OAAAD,SACzI,YAAa,IAAAikD,cAAA,WAA4Bt6C,KAAAu6C,YAAA,GAAA9S,cAAA,KAAAznC,KAAAw6C,gBAAA,GAAAnkC,YAAA,KAAArW,KAAAy6C,UAAA,GAAAC,mBAAA,KAAA16C,KAAAof,MAAA,GAAA/I,YAAArW,KAAAy6C,UAAA/tC,QAAA1M,KAAA26C,aAAA,EAAA36C,KAAA46C,YAAA,EAAmNN,cAAA3iD,UAAAkjD,OAAA,SAAAv+C,EAAAiD,EAAAhJ,GAA8C,GAAAiJ,GAAAQ,IAAWA,MAAA46C,aAAAt+C,EAAA,EAAA0D,KAAA46C,YAAA,EAA6D,IAAAl7C,EAAM,KAAnEH,EAAAW,KAAAwN,MAAA,GAAAnO,IAAmES,KAAA26C,aAAA,IAAAj7C,EAAAH,EAAA,EAAiCG,GAAAM,KAAA26C,aAAqBj7C,IAAAF,EAAA+6C,YAAA76C,GAAApD,EAAAkD,EAAAg7C,gBAAA96C,GAAAF,EAAAi7C,UAAA/6C,OAA2D,KAAAA,EAAAH,EAAaG,EAAAM,KAAA26C,aAAoBj7C,IAAAF,EAAA+6C,YAAA76C,GAAApD,EAAAkD,EAAAg7C,gBAAA96C,GAAAF,EAAAi7C,UAAA/6C,EAA2D,KAAAA,EAAA,EAAQA,EAAA,IAAMA,IAAA,CAAK,GAAA5H,GAAAwE,EAAAkD,EAAA+6C,YAAA76C,GAAAzI,EAAA,KAAAV,EAAAuB,EAAAvB,EAAA,EAAyCiJ,GAAAi7C,UAAA/6C,GAAAA,GAAAH,EAAAC,EAAAg7C,gBAAA96C,GAAAzI,EAAAuI,EAAAg7C,gBAAA96C,GAAAzI,EAAiF+I,KAAA86C,SAAA,EAAA96C,KAAA26C,aAAAp7C,GAAoC+6C,aAAA3iD,UAAA6b,KAAA,SAAAlX,GAAyC0D,KAAAwxC,SAAAl1C,EAAAm2C,YAAAn2C,EAAAo2C,WAAA1yC,KAAAwxC,SAAAxxC,KAAA86C,UAAAx+C,EAAAy+C,cAAAz+C,EAAAo2C,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAp2C,EAAA0+C,MAAA1+C,EAAA+2C,cAAArzC,KAAAof,OAAApf,KAAA86C,SAAA,KAAA96C,KAAAwxC,QAAAl1C,EAAAq2C,gBAAAr2C,EAAAm2C,YAAAn2C,EAAAo2C,WAAA1yC,KAAAwxC,SAAAl1C,EAAAs2C,cAAAt2C,EAAAo2C,WAAAp2C,EAAAu2C,eAAAv2C,EAAAw2C,eAAAx2C,EAAAs2C,cAAAt2C,EAAAo2C,WAAAp2C,EAAAy2C,eAAAz2C,EAAAw2C,eAAAx2C,EAAAs2C,cAAAt2C,EAAAo2C,WAAAp2C,EAAA02C,mBAAA12C,EAAA2+C,SAAA3+C,EAAAs2C,cAAAt2C,EAAAo2C,WAAAp2C,EAAA42C,mBAAA52C,EAAA2+C,SAAA3+C,EAAA62C,WAAA72C,EAAAo2C,WAAA,EAAAp2C,EAAA0+C,MAAA,IAAA,EAAA,EAAA1+C,EAAA0+C,MAAA1+C,EAAA+2C,cAAArzC,KAAAof,SAAujB9oB,OAAAD,QAAAikD,kBACl1CY,IAAA,SAAAp7C,QAAAxJ,OAAAD,SACJ,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAAq7C,UAAA,SAAA57C,EAAAhJ,GAAyDyJ,KAAAuD,MAAAhE,EAAAS,KAAAwD,OAAAjN,EAAAyJ,KAAAo7C,QAAA,EAAAp7C,KAAAq7C,MAAA,EAAAr7C,KAAA7G,KAAA,GAAAkd,YAAArW,KAAAuD,MAAAvD,KAAAwD,OAAAxD,KAAAq7C,OAAAr7C,KAAAs7C,aAAsIH,WAAAxjD,UAAA4jD,UAAA,SAAAh8C,GAA0CS,KAAAu4C,OAAAh5C,GAAc47C,UAAAxjD,UAAA88C,QAAA,SAAAl1C,EAAAhJ,GAA2C,GAAA+F,GAAAiD,EAAAtB,KAAA,KAAA1H,CAAoB,OAAAyJ,MAAAs7C,UAAAh/C,KAAA0D,KAAAs7C,UAAAh/C,GAAA0D,KAAAw7C,QAAAj8C,EAAAhJ,IAAAyJ,KAAAs7C,UAAAh/C,IAAkF6+C,UAAAxjD,UAAA6jD,QAAA,SAAAj8C,EAAAhJ,GAA2C,GAAA+F,GAAA0D,KAAAO,EAAAhK,EAAA,EAAA,EAAAuB,EAAA,EAAAyI,EAAA,CAAiC,IAAAP,KAAAo7C,QAAAtjD,EAAAkI,KAAAwD,OAAA,MAAAssB,MAAA8H,SAAA,0BAAA,IAAkF,KAAA,GAAAp4B,GAAA,EAAAjI,EAAA,EAAgBA,EAAAgI,EAAA5G,OAAWpB,IAAAiI,GAAAD,EAAAhI,EAAY,KAAA,GAAAN,GAAA+I,KAAAuD,MAAA/D,EAAAizB,EAAAx7B,EAAA,EAAA0W,EAAApO,EAAA5G,OAAA,GAAA,EAAAqI,GAAAT,EAAmDS,GAAAT,EAAKS,IAAA,IAAA,GAAAvB,GAAAnD,EAAA8+C,QAAA76C,EAAAS,EAAAlK,EAAAwF,EAAAiH,MAAA9D,EAAAjJ,EAAAmX,GAAApO,EAAAA,EAAA5G,OAAA,GAAA,EAAAiI,EAAArB,EAAA,GAAAmB,EAAA,EAAAuxB,EAAA,EAA4EA,EAAAjyB,KAAAuD,MAAa0uB,IAAA,CAAK,KAAKrxB,EAAAqxB,EAAAh7B,GAAMT,EAAAoK,EAAAA,GAAArB,EAAAmB,GAAAiN,GAAAjN,IAAAnB,EAAA5G,OAAA,IAAAiI,GAAArB,EAAA,IAAAmB,GAA8C,IAAA7I,GAAAqI,KAAAsF,IAAAysB,EAAAz7B,EAAAS,GAAA6J,EAAAZ,KAAAsF,IAAAysB,EAAArxB,EAAA3J,GAAAwJ,EAAAP,KAAAgK,IAAArS,EAAAiJ,GAAAoR,EAAAxR,EAAA,GAAA,EAAAqzB,MAAA,EAA2E,IAAAx9B,EAAA,CAAM,GAAA+I,GAAAiB,EAAAS,EAAAT,GAAAkyB,EAAA,GAAA,CAAoB,IAAAvgB,EAAA,CAAM,GAAAjR,GAAAwxB,EAAAvyB,KAAAsF,IAAAlG,EAAoBy0B,GAAA7zB,KAAA2R,KAAApR,EAAAA,EAAAQ,EAAAA,OAAqB8yB,GAAAtB,EAAAvyB,KAAA2R,KAAApR,EAAAA,EAAAnB,EAAAA,OAA4By0B,IAAA7hB,EAAA,GAAA,GAAAzR,CAAkBnE,GAAAnD,KAAA,EAAA,GAAArC,EAAAm7B,IAAA/xB,KAAAyD,IAAA,EAAAzD,KAAAgK,IAAA,IAAA6pB,EAA3iB,MAA2lB,GAAA1zB,IAAOG,GAAAR,KAAAo7C,QAAA76C,EAAA,IAAAP,KAAAwD,OAAAA,OAAA,EAAAjD,EAAAP,KAAAwD,OAAAD,MAAA/D,EAAkE,OAAAQ,MAAAo7C,SAAAtjD,EAAAkI,KAAAy7C,OAAA,EAAAp7C,GAAuC86C,UAAAxjD,UAAA6b,KAAA,SAAAjU,GAAsCS,KAAAwxC,SAAAjyC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,SAAAxxC,KAAAy7C,QAAAz7C,KAAAy7C,OAAA,EAAAl8C,EAAAw7C,cAAAx7C,EAAAmzC,WAAA,EAAA,EAAA,EAAA1yC,KAAAuD,MAAAvD,KAAAwD,OAAAjE,EAAA6zC,KAAA7zC,EAAA8zC,cAAArzC,KAAA7G,SAAA6G,KAAAwxC,QAAAjyC,EAAAozC,gBAAApzC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,SAAAjyC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAszC,eAAAtzC,EAAAm8C,QAAAn8C,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAwzC,eAAAxzC,EAAAm8C,QAAAn8C,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAyzC,mBAAAzzC,EAAA0zC,QAAA1zC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAA2zC,mBAAA3zC,EAAA0zC,QAAA1zC,EAAA4zC,WAAA5zC,EAAAmzC,WAAA,EAAAnzC,EAAA6zC,KAAApzC,KAAAuD,MAAAvD,KAAAwD,OAAA,EAAAjE,EAAA6zC,KAAA7zC,EAAA8zC,cAAArzC,KAAA7G,QAAgkB7C,OAAAD,QAAA8kD,YAC9uDvqB,eAAA,MAAmB+qB,IAAA,SAAA77C,QAAAxJ,OAAAD,SACtB,YAAa,IAAAmpB,SAAA1f,QAAA,mBAAAkC,KAAAlC,QAAA,qBAAAkC,KAAAs4C,aAAAx6C,QAAA,mBAAA87C,YAAA97C,QAAA,0BAAAqxB,OAAArxB,QAAA,kBAAAy0C,kBAAAz0C,QAAA,kCAAAgwB,KAAAhwB,QAAA,gBAAAsW,OAAAtW,QAAA,kBAAAk9B,kBAAAl9B,QAAA,yBAAA2iC,kBAAA3iC,QAAA,+BAAA8gC,SAAA9gC,QAAA,qBAAA4tB,qBAAA5tB,QAAA,iCAAA+7C,QAAA/7C,QAAA,aAAA+wC,MAAkjBiL,OAAAh8C,QAAA,iBAAAi8C,OAAAj8C,QAAA,iBAAAk8C,KAAAl8C,QAAA,eAAAgjB,KAAAhjB,QAAA,eAAAm8C,iBAAAn8C,QAAA,yBAAAo8C,OAAAp8C,QAAA,iBAAAq8C,WAAAr8C,QAAA,qBAAA+L,MAAA/L,QAAA,iBAAgRs8C,QAAA,SAAA9/C,EAAAkD,GAAuBQ,KAAAk8B,GAAA5/B,EAAA0D,KAAAoN,UAAA5N,EAAAQ,KAAAq8C,kBAAkDlwC,SAAQmwC,SAAA,MAAet8C,KAAA2xC,WAAgB3xC,KAAAq5C,aAAA,GAAAiB,cAAAt6C,KAAAu8C,QAAAv8C,KAAAw8C,aAAAZ,YAAAa,gBAAAb,YAAAc,eAAA,EAAA18C,KAAA28C,aAAA,EAAAz8C,KAAA+F,IAAA,EAAA,IAAAjG,KAAA48C,eAAAtgD,EAAAugD,aAAAvgD,EAAAwgD,0BAAA98C,KAAAyqC,8BAAA/c,qBAAAkU,cAAA,QAAA,YAAA5hC,KAAA+8C,0BAAA,GAAArvB,sBAAiX0uB,SAAAzkD,UAAAiM,OAAA,SAAAtH,EAAAkD,GAAuC,GAAAD,GAAAS,KAAAk8B,EAAcl8B,MAAAuD,MAAAjH,EAAAkjB,QAAAwsB,iBAAAhsC,KAAAwD,OAAAhE,EAAAggB,QAAAwsB,iBAAAzsC,EAAA+8C,SAAA,EAAA,EAAAt8C,KAAAuD,MAAAvD,KAAAwD,SAAoH44C,QAAAzkD,UAAA4kD,MAAA,WAAoC,GAAAjgD,GAAA0D,KAAAk8B,EAAc5/B,GAAA0gD,SAAA,EAAA1gD,EAAAmwC,OAAAnwC,EAAA2gD,OAAA3gD,EAAA4gD,UAAA5gD,EAAA6gD,IAAA7gD,EAAA8gD,qBAAA9gD,EAAAmwC,OAAAnwC,EAAAguC,cAAAhuC,EAAAmwC,OAAAnwC,EAAAw0C,YAAAx0C,EAAA65C,UAAA75C,EAAAg6C,QAAAt2C,KAAAq9C,YAAA,EAAA/gD,EAAAkvC,WAAA,EAAiL,IAAAhsC,GAAA,GAAAohC,SAAmBphC,GAAAyxB,YAAA,EAAA,GAAAzxB,EAAAyxB,YAAAE,OAAA,GAAA3xB,EAAAyxB,YAAA,EAAAE,QAAA3xB,EAAAyxB,YAAAE,OAAAA,QAAAnxB,KAAA4qC,iBAAAx0B,OAAA4lB,gBAAAx8B,EAAA4W,OAAAwmB,WAAAC,QAAA78B,KAAA8qC,cAAA,GAAA9N,mBAAAh9B,KAAA2qC,qBAAA,GAAA3N,kBAAkQ,IAAAz9B,GAAA,GAAAqhC,SAAmBrhC,GAAA0xB,YAAA,EAAA,GAAA1xB,EAAA0xB,YAAAE,OAAA,GAAA5xB,EAAA0xB,YAAAE,OAAAA,QAAA5xB,EAAA0xB,YAAA,EAAAE,QAAA5xB,EAAA0xB,YAAA,EAAA,GAAAjxB,KAAAqtC,YAAAj3B,OAAA4lB,gBAAAz8B,EAAA6W,OAAAwmB,WAAAC,QAAA78B,KAAAotC,SAAA,GAAApQ,kBAA2N,IAAAzmC,GAAA,GAAAksC,kBAA4BlsC,GAAA06B,YAAA,EAAA,EAAA,EAAA,GAAA16B,EAAA06B,YAAAE,OAAA,EAAA,MAAA,GAAA56B,EAAA06B,YAAA,EAAAE,OAAA,EAAA,OAAA56B,EAAA06B,YAAAE,OAAAA,OAAA,MAAA,OAAAnxB,KAAA83C,mBAAA1hC,OAAA4lB,gBAAAzlC,EAAA6f,OAAAwmB,WAAAC,QAAA78B,KAAAg4C,gBAAA,GAAAhb,mBAAAh9B,KAAAs9C,4BAAAhhD,EAAAihD,aAAA,mCAAAjhD,EAAAihD,aAAA,uCAAAjhD,EAAAihD,aAAA,yCAAAv9C,KAAAs9C,8BAAAt9C,KAAAw9C,+BAAAlhD,EAAAugD,aAAA78C,KAAAs9C,4BAAAG,kCAA+kBrB,QAAAzkD,UAAAs5C,WAAA,WAAyC,GAAA30C,GAAA0D,KAAAk8B,EAAc5/B,GAAA20C,WAAA,EAAA,EAAA,EAAA,GAAA30C,EAAAiI,MAAAjI,EAAA40C,mBAAkDkL,QAAAzkD,UAAA+lD,aAAA,WAA2C,GAAAphD,GAAA0D,KAAAk8B,EAAc5/B,GAAAohD,aAAA,GAAAphD,EAAAqhD,YAAA,KAAArhD,EAAAiI,MAAAjI,EAAAshD,qBAAmExB,QAAAzkD,UAAAkmD,WAAA,WAAyC,GAAAvhD,GAAA0D,KAAAk8B,EAAc5/B,GAAAuhD,WAAA,GAAA79C,KAAAwrC,WAAA,GAAAlvC,EAAAiI,MAAAjI,EAAA60C,mBAA+DiL,QAAAzkD,UAAAmmD,yBAAA,SAAAxhD,GAAwD,GAAAkD,GAAAQ,KAAAT,EAAAS,KAAAk8B,EAAqB38B,GAAAw+C,WAAA,GAAA,GAAA,GAAA,GAAA/9C,KAAAwrC,WAAA,GAAAjsC,EAAA/D,QAAA+D,EAAAuxC,YAAAvxC,EAAAktC,OAAAltC,EAAA+qC,cAAA/qC,EAAAo+C,YAAA,KAAAp+C,EAAAy+C,UAAAz+C,EAAA0+C,KAAA1+C,EAAA0+C,KAAA1+C,EAAA2+C,QAAqJ,IAAA3nD,GAAA,CAAQyJ,MAAAm+C,uBAA6B,KAAA,GAAAz+C,GAAA,EAAA5H,EAAAwE,EAAgBoD,EAAA5H,EAAAa,OAAW+G,GAAA,EAAA,CAAM,GAAAzI,GAAAa,EAAA4H,GAAAnI,EAAAiI,EAAA2+C,qBAAAlnD,EAAAiC,IAAA3C,GAA8CgJ,GAAA6+C,YAAA7+C,EAAA8+C,OAAA9mD,EAAA,IAA8B,IAAAf,GAAAgJ,EAAAgrC,WAAA,OAAAhrC,EAAAirC,8BAA2DlrC,GAAA0rC,iBAAAz0C,EAAA00C,UAAA,EAAAj0C,EAAAi1C,WAAA1sC,EAAAsrC,cAAAt3B,KAAAjU,EAAA/I,EAAAgJ,EAAAorC,kBAAArrC,EAAA4rC,WAAA5rC,EAAA6rC,eAAA,EAAA5rC,EAAAorC,iBAAAjyC,QAAsJ4G,EAAAo+C,YAAA,GAAAp+C,EAAAw+C,WAAA,GAAA,GAAA,GAAA,GAAA/9C,KAAAwrC,WAAA,GAAAjsC,EAAAktC,OAAAltC,EAAAuxC,aAAoFsL,QAAAzkD,UAAA+0C,uBAAA,SAAApwC,GAAsD,GAAAkD,GAAAQ,KAAAk8B,EAAc18B,GAAA4+C,YAAA5+C,EAAA8+C,MAAAt+C,KAAAm+C,qBAAA7hD,EAAApD,IAAA,MAA2DkjD,QAAAzkD,UAAA4mD,eAAA,aAA8CnC,QAAAzkD,UAAAs8C,uBAAA,WAAqD,GAAA33C,GAAA0D,KAAAk8B,EAAc5/B,GAAA00C,gBAAA10C,EAAAg3C,YAAA,OAAsC8I,QAAAzkD,UAAA6mD,OAAA,SAAAliD,EAAAkD,GAAwC,GAAAQ,KAAA5E,MAAAkB,EAAA0D,KAAA4L,QAAApM,EAAAQ,KAAAw0C,UAAAl4C,EAAAk4C,UAAAx0C,KAAAi1C,YAAA34C,EAAA24C,YAAAj1C,KAAAi1C,YAAAsG,UAAAj/C,EAAAi8C,QAAAv4C,KAAA+4C,YAAAz8C,EAAAy8C,YAAA/4C,KAAAq5C,aAAAwB,OAAAh5B,KAAAC,MAAA9hB,KAAAoN,UAAA9R,KAAAgB,EAAAmiD,gBAAAC,UAAA1+C,KAAAu+C,iBAAAv+C,KAAAixC,aAAAjxC,KAAA69C,aAAA79C,KAAA2+C,sBAAAn/C,EAAAm/C,uBAAA3+C,KAAA4+C,YAAAtiD,EAAAuiD,OAAAlmD,OAAA,GAAAqH,KAAAw8C,aAAAx8C,KAAA28C,aAAA38C,KAAAqqC,cAAA,EAAArqC,KAAA8+C,aAAA9+C,KAAAqqC,cAAA,EAAArqC,KAAA8+C,aAAA9+C,KAAA4L,QAAAmzC,mBAAA,CAAshB,GAAAx/C,GAAAS,KAAA5E,MAAA4jD,aAAA9nD,OAAAqY,KAAAvP,KAAA5E,MAAA4jD,cAAA,GAAuEz/C,IAAAsxC,KAAAhlC,MAAA7L,KAAAT,EAAAA,EAAA0/C,2BAAiD7C,QAAAzkD,UAAAmnD,WAAA,WAAyC,GAAAxiD,GAAAkD,EAAAD,EAAAS,KAAAzJ,EAAAyJ,KAAA5E,MAAAyjD,MAAmC7+C,MAAAk/C,aAAAl/C,KAAAqqC,aAAA9zC,EAAAoC,OAAA,EAAA,EAAAqH,KAAAqqC,aAAArqC,KAAAm/C,wBAAAn/C,KAAAk8B,GAAA1gC,QAAAwE,KAAAk8B,GAAA+gB,OAAAj9C,KAAAk8B,GAAAuQ,OAAAzsC,KAAAk8B,GAAA+gB,MAA6J,KAAA,GAAAv9C,GAAA,EAAYA,EAAAnJ,EAAAoC,OAAW+G,IAAA,CAAK,GAAA5H,GAAAyH,EAAAnE,MAAAgkD,QAAA7oD,EAAAgJ,EAAA2/C,cAAyCpnD,GAAAmE,UAAAK,GAAAA,EAAApD,MAAAoD,EAAAiD,EAAAnE,MAAA4jD,aAAAlnD,EAAAmE,QAAAuD,KAAAlD,IAAAA,EAAA86B,SAAA96B,EAAA86B,UAAA73B,EAAAm+C,eAAAl+C,EAAAlD,EAAA2iD,wBAAA3iD,EAAAi6C,YAAA8I,eAAA9/C,EAAAu+C,yBAAAt+C,IAAAD,EAAA8qC,cAAA7qC,EAAAqK,WAAAtK,EAAA+/C,YAAA//C,EAAAjD,EAAAxE,EAAA0H,GAAAD,EAAA2/C,cAAA3/C,EAAA8qC,cAAA,EAAA,IAA0R+R,QAAAzkD,UAAA6zC,UAAA,SAAAlvC,GAAyCA,IAAA0D,KAAAq9C,aAAAr9C,KAAAq9C,WAAA/gD,EAAA0D,KAAAk8B,GAAAsP,UAAAlvC,KAA8D8/C,QAAAzkD,UAAA2nD,YAAA,SAAAhjD,EAAAkD,EAAAD,EAAAhJ,GAAiDgJ,EAAAggD,SAAAv/C,KAAAoN,UAAA9R,QAAA,eAAAiE,EAAAlG,MAAA9C,EAAAoC,UAAAqH,KAAA9G,GAAAqG,EAAArG,GAAA23C,KAAAtxC,EAAAlG,MAAAiD,EAAAkD,EAAAD,EAAAhJ,KAAyG6lD,QAAAzkD,UAAA4yC,iBAAA,SAAAjuC,GAAgD,GAAAkD,GAAA,IAAA,EAAAQ,KAAAk/C,cAAAl/C,KAAAw8C,aAAAlgD,GAAA0D,KAAA28C,aAAAp9C,EAAAC,EAAA,EAAAQ,KAAA4+C,UAA4F5+C,MAAAk8B,GAAA0iB,WAAAr/C,EAAAC,IAAwB48C,QAAAzkD,UAAAs0C,mBAAA,SAAA3vC,EAAAkD,EAAAD,EAAAhJ,GAAwD,IAAAgJ,EAAA,KAAAA,EAAA,GAAA,MAAAjD,EAAyB,IAAA,aAAA/F,EAAA,CAAmB,GAAAmJ,GAAAQ,KAAAC,KAAAH,KAAAoN,UAAAyQ,OAAA/lB,EAAAoI,KAAAE,KAAAJ,KAAAoN,UAAAyQ,MAAwEte,IAAAA,EAAA,GAAAzH,EAAAyH,EAAA,GAAAG,EAAAH,EAAA,GAAAG,EAAAH,EAAA,GAAAzH,GAAgC,GAAAb,IAAAs9C,kBAAA/0C,EAAAD,EAAA,GAAAS,KAAAoN,UAAA9R,MAAAi5C,kBAAA/0C,EAAAD,EAAA,GAAAS,KAAAoN,UAAA9R,MAAA,GAAA/D,EAAA,GAAA0I,cAAA,GAA6H,OAAA+B,MAAAE,UAAA3K,EAAA+E,EAAArF,GAAAM,GAA+B6kD,QAAAzkD,UAAA6nD,gBAAA,SAAAljD,GAA+C,GAAAkD,GAAAQ,KAAAq8C,iBAAAlwC,MAAA7P,EAAAipC,KAA0C/lC,GAAAA,EAAA5E,KAAA0B,GAAA0D,KAAAq8C,iBAAAlwC,MAAA7P,EAAAipC,OAAAjpC,IAAoD8/C,QAAAzkD,UAAAu8C,oBAAA,SAAA53C,GAAmD0D,KAAAq8C,iBAAAC,SAAAhgD,GAAiC8/C,QAAAzkD,UAAA8nD,eAAA,SAAAnjD,GAA8C,GAAAkD,GAAAQ,KAAAq8C,iBAAAlwC,MAAA7P,EAAqC,OAAAkD,IAAAA,EAAA7G,OAAA,EAAA6G,EAAAgO,MAAA,MAAkC4uC,QAAAzkD,UAAA26C,mBAAA,SAAAh2C,EAAAkD,GAAoD,GAAAD,GAAAS,KAAAq8C,iBAAAC,QAAqC,IAAA/8C,EAAA,MAAAA,GAAAgE,QAAAjH,GAAAiD,EAAAiE,SAAAhE,EAAAD,GAAAS,KAAAk8B,GAAAwjB,cAAAngD,QAAAS,KAAAq8C,iBAAAC,SAAA,QAA6GF,QAAAzkD,UAAAg1C,UAAA,SAAArwC,GAAyC0D,KAAAk8B,GAAAyQ,UAAA7c,KAAA+V,MAAAvpC,EAAA0D,KAAA48C,eAAA,GAAA58C,KAAA48C,eAAA,MAA+ER,QAAAzkD,UAAAgnD,sBAAA,SAAAriD,GAAqD,GAAAA,GAAA0D,KAAAm/C,uBAAA,CAAmCn/C,KAAAm/C,uBAAA7iD,CAA8B,IAAAkD,GAAAQ,KAAAk8B,EAAc,IAAA5/B,EAAA,CAAMkD,EAAA09C,UAAA19C,EAAAmgD,eAAAngD,EAAA29C,IAAkD39C,GAAAogD,WAAd,EAAA,EAAA,EAAA,EAAA,EAAA,EAAc,GAAApgD,EAAAyxC,WAAA,EAAA,EAAA,EAAA,GAAAzxC,EAAA+E,MAAA/E,EAAA0xC,sBAAwE1xC,GAAA09C,UAAA19C,EAAA29C,IAAA39C,EAAA49C,uBAA+ChB,QAAAzkD,UAAAkoD,cAAA,SAAAvjD,EAAAkD,GAA+C,GAAAD,GAAAS,KAAAk8B,GAAA3lC,EAAAgJ,EAAAsgD,gBAAAngD,EAAAm8C,QAAAv/C,GAAAxE,EAAA,oDAAA0nB,QAAAwsB,iBAAA8T,QAAA,GAAA,IAA8I9/C,MAAAm/C,yBAAArnD,GAAA,gCAAkE,IAAAb,GAAAuI,EAAA2iC,aAAArqC,EAAA+jD,QAAAkE,QAAAC,eAAAtgD,EAAAsgD,eAAA,YAAAzoD,EAAAiI,EAAA2iC,aAAArqC,EAAA+jD,QAAAkE,QAAAE,aAAAvgD,EAAAugD,aAAA,UAAAzpD,EAAA+I,EAAA2gD,aAAA3gD,EAAA4gD,gBAAgM5gD,GAAA6gD,aAAA5pD,EAAAS,GAAAsI,EAAA8gD,cAAA7pD,GAAA+I,EAAA+gD,aAAA/pD,EAAAC,EAA2D,IAAA+J,GAAAhB,EAAA2gD,aAAA3gD,EAAAghD,cAAsChhD,GAAA6gD,aAAA7/C,EAAAhJ,GAAAgI,EAAA8gD,cAAA9/C,GAAAhB,EAAA+gD,aAAA/pD,EAAAgK,GAAAhB,EAAAihD,YAAAjqD,EAA4E,KAAA,GAAAkJ,GAAAF,EAAAkhD,oBAAAlqD,EAAAgJ,EAAAmhD,mBAAA9pD,GAA0D+pD,QAAApqD,EAAAqqD,cAAAnhD,GAA0B5H,EAAA,EAAKA,EAAA4H,EAAI5H,IAAA,CAAK,GAAAf,GAAAyI,EAAAshD,gBAAAtqD,EAAAsB,EAA6BjB,GAAAE,EAAAC,MAAAwI,EAAAuhD,kBAAAvqD,EAAAO,EAAAC,MAAwC,IAAA,GAAAuI,GAAAC,EAAAkhD,oBAAAlqD,EAAAgJ,EAAAwhD,iBAAAjgD,EAAA,EAAyDA,EAAAxB,EAAIwB,IAAA,CAAK,GAAA6M,GAAApO,EAAAyhD,iBAAAzqD,EAAAuK,EAA8BlK,GAAA+W,EAAA5W,MAAAwI,EAAA0hD,mBAAA1qD,EAAAoX,EAAA5W,MAAyC,MAAAH,IAASwlD,QAAAzkD,UAAAupD,qBAAA,SAAA5kD,EAAAkD,GAAsDQ,KAAAusB,MAAAvsB,KAAAusB,SAA0B,IAAAhtB,GAAA,GAAAjD,GAAAkD,EAAA+hC,UAAA,KAAAvhC,KAAAm/C,uBAAA,YAAA,GAAyE,OAAAn/C,MAAAusB,MAAAhtB,KAAAS,KAAAusB,MAAAhtB,GAAAS,KAAA6/C,cAAAvjD,EAAAkD,IAAAQ,KAAAusB,MAAAhtB,IAA4E68C,QAAAzkD,UAAA6yC,WAAA,SAAAluC,EAAAkD,GAA4C,GAAAD,GAAAS,KAAAk8B,GAAA3lC,EAAAyJ,KAAAkhD,qBAAA5kD,EAAAkD,GAAAQ,KAAA+8C,0BAA+E,OAAA/8C,MAAA2wC,iBAAAp6C,IAAAgJ,EAAAirC,WAAAj0C,EAAAoqD,SAAA3gD,KAAA2wC,eAAAp6C,GAAAA,GAAkFD,OAAAD,QAAA+lD,UAC11QtM,iBAAA,GAAAhI,iBAAA,GAAAiI,oBAAA,GAAAoR,gCAAA,GAAAC,8BAAA,GAAApL,iCAAA,GAAAqL,yBAAA,GAAA/U,kBAAA,IAAA1b,eAAA,IAAA0wB,oBAAA,GAAAC,gBAAA,GAAAC,eAAA,GAAAC,cAAA,GAAAC,wBAAA,GAAAC,cAAA,GAAAC,gBAAA,GAAAC,gBAAA,GAAAC,kBAAA,GAAAC,YAAA,GAAA/R,wBAAA,GAAA9H,oBAAA,IAAge8Z,IAAA,SAAAliD,QAAAxJ,OAAAD,SACne,YAAa,IAAAk+C,mBAAAz0C,QAAA,iCAAgEzJ,SAAA+gC,QAAA,SAAA53B,EAAAD,EAAAhJ,GAAgC,GAAAU,GAAAsI,EAAA28B,GAAA5/B,EAAAiD,EAAA01C,YAAAC,YAAA11C,EAAAk1C,MAAA,GAAAziB,EAAA1yB,EAAA01C,YAAAC,YAAA11C,EAAAm1C,IAAA,EAAuFr4C,IAAA21B,IAAAh7B,EAAAy0C,UAAAn1C,EAAA69C,QAAA,GAAAn9C,EAAA60C,WAAAv1C,EAAAk/C,eAAAn5C,EAAA+8B,IAAApiC,EAAA60C,WAAAv1C,EAAAm/C,eAAAp5C,EAAAk9B,IAAAviC,EAAA60C,WAAAv1C,EAAAo/C,eAAA1jB,EAAAoH,IAAApiC,EAAA60C,WAAAv1C,EAAAq/C,eAAA3jB,EAAAuH,IAAAviC,EAAAqrC,UAAA/rC,EAAAi/C,MAAAh2C,EAAAD,GAAAtI,EAAA60C,WAAAv1C,EAAA4+C,iBAAA74C,EAAAipC,MAAAtuC,EAAA60C,WAAAv1C,EAAA6+C,iBAAAnjB,EAAAsT,MAAAtuC,EAAAqrC,UAAA/rC,EAAA0rD,UAAAziD,EAAAo1C,WAAA39C,EAAAqrC,UAAA/rC,EAAA2rD,UAAA1iD,EAAAq1C,SAAA59C,EAAAs7C,cAAAt7C,EAAAk9C,UAAA50C,EAAA01C,YAAAzhC,KAAAvc,GAAA,KAAuZZ,QAAA20C,QAAA,SAAAxrC,EAAAD,EAAAhJ,GAAiC,GAAAU,GAAAsI,EAAA28B,EAAWjlC,GAAAqrC,UAAA/rC,EAAA4rD,uBAAA,EAAA5N,kBAAA/0C,EAAA,EAAAD,EAAA6N,UAAA44B,UAAoF,IAAA1pC,GAAA4D,KAAA+F,IAAA,EAAAzG,EAAAs/B,MAAAn3B,GAAAsqB,EAAAzyB,EAAA+/B,SAAAr/B,KAAA+F,IAAA,EAAA1G,EAAA6N,UAAA44B,UAAA1pC,EAAAmD,EAAAwyB,GAAAzyB,EAAAs/B,MAAAl+B,EAAApB,EAAAs/B,MAAAr+B,EAAAnE,GAAA/E,EAAA06B,EAAAzyB,EAAAs/B,MAAAt+B,CAAsHvJ,GAAA20C,UAAAr1C,EAAA6rD,oBAAA3iD,GAAA,GAAAlI,GAAA,IAAAN,EAAA20C,UAAAr1C,EAAA8rD,oBAAA,MAAA5iD,EAAA,MAAAlI,MAC90By+C,iCAAA,KAAoCsM,IAAA,SAAAxiD,QAAAxJ,OAAAD,SACvC,YAAayJ,SAAA,OAAyBxJ,QAAAD,SAAgB0pD,SAASC,eAAA,wMAAsDC,aAAA,0iGAAutGlE,QAASiE,eAAA,wxCAAmyCC,aAAA,6qDAA6rDzpB,cAAewpB,eAAA,+hBAA0iBC,aAAA,6VAA6Wp0C,OAAQm0C,eAAA,iFAA4FC,aAAA,+IAA+Jn9B,MAAOk9B,eAAA,0TAAqUC,aAAA,sTAAsUsC,aAAcvC,eAAA,2dAAseC,aAAA,ybAAycuC,oBAAqBxC,eAAA,+8BAA09BC,aAAA,g3BAAg4BwC,aAAczC,eAAA,2wBAAsxBC,aAAA,6vBAA6wByC,eAAgB1C,eAAA,+ZAA0aC,aAAA,w1EAAw2E0C,sBAAuB3C,eAAA,m6BAA86BC,aAAA,83DAA84D2C,kBAAmB5C,eAAA,iOAA4OC,aAAA,sOAAsPjE,MAAOgE,eAAA,27BAAs8BC,aAAA,s2GAAs3G4C,aAAc7C,eAAA,ylDAAomDC,aAAA,4lHAA4mH6C,SAAU9C,eAAA,syCAAizCC,aAAA,i+HACl56B/D,QAAS8D,eAAA,oxCAA+xCC,aAAA,kaAAkb8C,YAAa/C,eAAA,ibAA4bC,aAAA,sjGAAskG+C,WAAYhD,eAAA,+mDAA0nDC,aAAA,ykMAC72NgD,KAAA,KAAUC,IAAA,SAAApjD,QAAAxJ,OAAAD,SACb,YAAa,IAAA2mC,mBAAA,WAAiCh9B,KAAAmjD,aAAA,KAAAnjD,KAAAojD,kBAAA,KAAApjD,KAAAqjD,mBAAA,KAAArjD,KAAAsjD,mBAAA,KAAAtjD,KAAAujD,kBAAA,KAAAvjD,KAAAwjD,IAAA,KAAwJxmB,mBAAArlC,UAAA6b,KAAA,SAAAlX,EAAAiD,EAAAC,EAAAjJ,EAAAgB,EAAAO,OAAuD,KAAAwE,EAAAmnD,uBAAAnnD,EAAAmnD,qBAAAnnD,EAAAihD,aAAA,2BAAoG,IAAAtmD,IAAA+I,KAAAwjD,KAAAxjD,KAAAmjD,eAAA5jD,GAAAS,KAAAojD,oBAAA5jD,GAAAQ,KAAAqjD,qBAAA9rD,GAAAyI,KAAAsjD,qBAAA/sD,GAAAyJ,KAAAujD,oBAAAzrD,GAAyJwE,EAAAmnD,sBAAAxsD,GAAA+I,KAAA0jD,UAAApnD,EAAAiD,EAAAC,EAAAjJ,EAAAgB,EAAAO,GAAAkI,KAAAk8B,GAAA5/B,GAAAA,EAAAmnD,qBAAAE,mBAAA3jD,KAAAwjD,MAAuHxmB,kBAAArlC,UAAA+rD,UAAA,SAAApnD,EAAAiD,EAAAC,EAAAjJ,EAAAgB,EAAAO,GAA6D,GAAAb,GAAAwI,EAAAF,EAAAqhD,aAAwB,IAAAtkD,EAAAmnD,qBAAAzjD,KAAAwjD,KAAAxjD,KAAA6Z,UAAA7Z,KAAAwjD,IAAAlnD,EAAAmnD,qBAAAG,uBAAAtnD,EAAAmnD,qBAAAE,mBAAA3jD,KAAAwjD,KAAAvsD,EAAA,EAAA+I,KAAAmjD,aAAA5jD,EAAAS,KAAAojD,kBAAA5jD,EAAAQ,KAAAqjD,mBAAA9rD,EAAAyI,KAAAsjD,mBAAA/sD,EAAAyJ,KAAAujD,kBAAAzrD,MAA4R,CAAKb,EAAAqF,EAAAunD,sBAAA,CAA4B,KAAA,GAAAhjD,GAAApB,EAAYoB,EAAA5J,EAAI4J,IAAAvE,EAAAwnD,yBAAAjjD,GAAkCrB,EAAA88B,iBAAAhgC,EAAAiD,GAAAhI,GAAAA,EAAA+kC,iBAAAhgC,EAAAiD,GAAAC,EAAAgU,KAAAlX,GAAAkD,EAAAg9B,wBAAAlgC,EAAAiD,EAAAzH,GAAAP,IAAAA,EAAAic,KAAAlX,GAAA/E,EAAAilC,wBAAAlgC,EAAAiD,EAAAzH,IAAAvB,GAAAA,EAAAid,KAAAlX,GAAAA,EAAAunD,qBAAApkD,GAAoLu9B,kBAAArlC,UAAAkiB,QAAA,WAAgD7Z,KAAAwjD,MAAAxjD,KAAAk8B,GAAAunB,qBAAAM,qBAAA/jD,KAAAwjD,KAAAxjD,KAAAwjD,IAAA,OAAsFltD,OAAAD,QAAA2mC,uBAC32CgnB,IAAA,SAAAlkD,QAAAxJ,OAAAD,SACJ,YAAa,IAAAy5B,MAAAhwB,QAAA,eAAiCzJ,SAAA+9B,iBAAA,SAAA70B,EAAA/I,GAAuC,MAAA+I,GAAAuwB,KAAA+V,MAAA3lC,KAAAwN,MAAAnO,GAAA,EAAA,KAAA/I,EAAAs5B,KAAA+V,MAAA3lC,KAAAwN,MAAAlX,GAAA,EAAA,KAAA,IAAA+I,EAAA/I,KAClFo6B,eAAA,MAAmBqzB,IAAA,SAAAnkD,QAAAxJ,OAAAD,SACtB,YAAa,IAAA6tD,aAAApkD,QAAA,kBAAA1G,OAAA0G,QAAA,kBAAAqkD,aAAA,SAAA5kD,GAAoG,QAAAhJ,GAAAA,EAAAmJ,EAAA5H,EAAAP,GAAoBgI,EAAA7I,KAAAsJ,KAAAzJ,EAAAmJ,EAAA5H,EAAAP,GAAAyI,KAAA4L,QAAAlM,EAAAM,KAAAokD,SAAA1kD,EAAA9H,eAAA,YAAA8H,EAAA0kD,QAAyF,MAAA7kD,KAAAhJ,EAAAi7B,UAAAjyB,GAAAhJ,EAAAoB,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAApB,EAAAoB,UAAAgrB,YAAApsB,EAAAA,EAAAoB,UAAAiqB,KAAA,WAA0H,GAAA5hB,KAAAqkD,OAAArkD,KAAAqkD,QAAAjrD,OAAAoF,SAAA8lD,eAAAtkD,KAAA4L,QAAAy4C,QAAArkD,KAAAuD,MAAAvD,KAAAqkD,OAAA9gD,MAAAvD,KAAAwD,OAAAxD,KAAAqkD,OAAA7gD,OAAAxD,KAAAukD,wBAAA,MAAAvkD,MAAAwkD,KAAA,QAAA,GAAA7kD,OAAA,2DAAwQ,IAAAJ,EAAMS,MAAAykD,KAAA,WAAqBllD,EAAAS,KAAAhF,IAAAI,MAAAq7C,cAAAtmC,IAAA,EAAA,GAAAnQ,KAAAhF,IAAA0pD,aAA6D1kD,KAAA2kD,MAAA,WAAuB3kD,KAAAhF,IAAAI,MAAAq7C,cAAAmO,OAAArlD,IAAuCS,KAAA6kD,kBAAuBtuD,EAAAoB,UAAAmtD,UAAA,WAAkC,MAAA9kD,MAAAqkD,QAAmB9tD,EAAAoB,UAAAotD,MAAA,SAAAxlD,GAA+BS,KAAAhF,MAAAgF,KAAAhF,IAAAuE,EAAAS,KAAA4hB,OAAA5hB,KAAAqkD,QAAArkD,KAAAokD,SAAApkD,KAAAykD,SAA0EluD,EAAAoB,UAAAy/B,QAAA,WAAgC,GAAA73B,IAAA,CAASS,MAAAqkD,OAAA9gD,QAAAvD,KAAAuD,QAAAvD,KAAAuD,MAAAvD,KAAAqkD,OAAA9gD,MAAAhE,GAAA,GAAAS,KAAAqkD,OAAA7gD,SAAAxD,KAAAwD,SAAAxD,KAAAwD,OAAAxD,KAAAqkD,OAAA7gD,OAAAjE,GAAA,GAAAS,KAAAukD,yBAAAvkD,KAAA6N,MAAA7N,KAAAglD,cAAAhlD,KAAAhF,IAAAu2C,QAAArV,GAAAl8B,KAAAqkD,OAAA9kD,IAA2OhJ,EAAAoB,UAAA81B,UAAA,WAAkC,OAAOp0B,KAAA,SAAAgrD,OAAArkD,KAAAqkD,OAAA7qD,YAAAwG,KAAAxG,cAA+DjD,EAAAoB,UAAA4sD,sBAAA,WAA8C,IAAA,GAAAhlD,GAAAS,KAAAzJ,EAAA,EAAAmJ,GAAAH,EAAA8kD,OAAA9gD,MAAAhE,EAAA8kD,OAAA7gD,QAAsDjN,EAAAmJ,EAAA/G,OAAWpC,GAAA,EAAA,CAAM,GAAAuB,GAAA4H,EAAAnJ,EAAW,IAAAka,MAAA3Y,IAAAA,GAAA,EAAA,OAAA,EAA2B,OAAA,GAASvB,GAAG2tD,YAAc5tD,QAAAD,QAAA8tD,eACz9Cc,iBAAA,IAAAC,iBAAA,KAAyCC,IAAA,SAAArlD,QAAAxJ,OAAAD,SAC5C,YAAa,SAAA+uD,YAAA7lD,GAAuB,GAAAjD,GAAAlD,OAAAoF,SAAAC,cAAA,IAAyC,OAAAnC,GAAA+oD,KAAA9lD,EAAAjD,EAAA+oD,KAAuB,GAAAxc,SAAA/oC,QAAA,mBAAAgwB,KAAAhwB,QAAA,gBAAA1G,OAAA0G,QAAA,kBAAAqxB,OAAArxB,QAAA,kBAAAwlD,cAAA,SAAA/lD,GAAgK,QAAAjD,GAAAA,EAAArF,EAAAV,EAAAiJ,GAAoBD,EAAA7I,KAAAsJ,MAAA/I,EAAAA,MAAoB+I,KAAA9G,GAAAoD,EAAA0D,KAAA3G,KAAA,UAAA2G,KAAAymC,QAAA,EAAAzmC,KAAA0mC,QAAA,GAAA1mC,KAAAu/B,SAAA,IAAAv/B,KAAAq/C,eAAA,EAAAr/C,KAAA4mC,mBAAA,EAAA5mC,KAAAulD,WAAAhvD,EAAAyJ,KAAAwlD,iBAAAhmD,GAAAQ,KAAAylD,MAAAxuD,EAAAkC,SAAA,KAAAlC,EAAAyvC,UAAA1mC,KAAA0mC,QAAAzvC,EAAAyvC,SAAAzvC,EAAAoC,OAAA2G,KAAA3G,KAAApC,EAAAoC,KAAqQ,IAAAqG,GAAAyxB,OAAAnxB,KAAAu/B,QAA2Bv/B,MAAA0lD,cAAA51B,KAAA1yB,QAAgCnB,OAAA+D,KAAA9G,GAAAkoB,QAAAnqB,EAAAmqB,UAAA,EAAAukC,kBAAuDj5C,YAAA,KAAAzV,EAAAyV,OAAAzV,EAAAyV,OAAA,KAAAhN,EAAAuM,eAAA,KAAAhV,EAAAgV,UAAAhV,EAAAgV,UAAA,MAAAvM,EAAAwM,OAAAilB,OAAAnlB,QAAAhM,KAAA0mC,SAAiIkf,qBAAsB55C,QAAA9L,KAAAgK,IAAAjT,EAAA4uD,eAAA7lD,KAAA0mC,QAAA,IAAA1mC,KAAA0mC,QAAA,EAAAx6B,OAAAilB,OAAAxP,QAAA1qB,EAAA6uD,eAAA,IAAApmD,EAAA0L,KAAA,IAAuHnU,EAAAyuD,eAAkB,MAAAnmD,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAAiqB,KAAA,WAA0H,GAAAriB,GAAAS,IAAWA,MAAAwkD,KAAA,eAAyBuB,SAAA,WAAkB/lD,KAAAgmD,kBAAA,SAAA1pD,GAAqC,MAAAA,OAAAiD,GAAAilD,KAAA,SAA8Bt+B,MAAA5pB,QAAQiD,GAAAilD,KAAA,QAAsBuB,SAAA,SAAAE,eAAA,gBAAgD3pD,EAAA3E,UAAAotD,MAAA,SAAAxlD,GAA+BS,KAAA4hB,OAAA5hB,KAAAhF,IAAAuE,GAAuBjD,EAAA3E,UAAAuuD,QAAA,SAAA3mD,GAAiC,GAAAjD,GAAA0D,IAAW,OAAAA,MAAAylD,MAAAlmD,EAAAS,KAAAwkD,KAAA,eAA6CuB,SAAA,WAAkB/lD,KAAAgmD,kBAAA,SAAAzmD,GAAqC,MAAAA,GAAAjD,EAAAkoD,KAAA,SAAyBt+B,MAAA3mB,QAAQjD,GAAAkoD,KAAA,QAAsBuB,SAAA,SAAAE,eAAA,cAA6CjmD,MAAO1D,EAAA3E,UAAAquD,kBAAA,SAAAzmD,GAA2C,GAAAjD,GAAA0D,KAAA/I,EAAA64B,KAAA1yB,UAA2B4C,KAAA0lD,eAAAnvD,EAAAyJ,KAAAylD,KAAkC,iBAAAlvD,GAAAU,EAAAkvD,IAAAf,WAAA7uD,GAAAU,EAAAkC,KAAA4T,KAAAC,UAAAzW,GAAAyJ,KAAAomD,SAAApmD,KAAAulD,WAAAc,KAAArmD,KAAA3G,KAAA,YAAApC,EAAA,SAAAA,GAAuIqF,EAAAgqD,SAAA,EAAA/mD,EAAAtI,MAAoBqF,EAAA3E,UAAA4uD,SAAA,SAAAhnD,EAAAjD,GAAoC,GAAArF,GAAA+I,KAAAzJ,EAAAgJ,EAAAu/B,MAAAn3B,EAAA3H,KAAA0mC,QAAAxmC,KAAA+F,IAAA,EAAA1G,EAAAu/B,MAAAn3B,EAAA3H,KAAA0mC,SAAA,EAAAlnC,GAA4EnG,KAAA2G,KAAA3G,KAAAsW,IAAApQ,EAAAoQ,IAAAmvB,MAAAv/B,EAAAu/B,MAAAxjC,KAAAiE,EAAAu/B,MAAAn3B,EAAAqE,QAAAhM,KAAA0mC,QAAAnH,SAAAv/B,KAAAu/B,SAAAtjC,OAAA+D,KAAA9G,GAAA82B,YAAAz5B,EAAAsnB,MAAA7d,KAAAhF,IAAAoS,UAAAyQ,MAAA2nB,MAAAxlC,KAAAhF,IAAAoS,UAAAo4B,MAAA8S,mBAAAt4C,KAAAhF,IAAAs9C,mBAA6O/4C,GAAA6mD,SAAApmD,KAAAulD,WAAAc,KAAA,WAAA7mD,EAAA,SAAAjJ,EAAAiJ,GAA2D,GAAAD,EAAAinD,oBAAAjnD,EAAAknD,QAAA,MAAAlwD,GAAA+F,EAAA/F,IAAAgJ,EAAAmnD,eAAAlnD,EAAAvI,EAAA+D,IAAAu2C,SAAAhyC,EAAAonD,eAAApnD,EAAAonD,cAAA,EAAApnD,EAAAqnD,cAAA3vD,IAAAqF,EAAA,QAAoJ0D,KAAAomD,WAAgB9pD,EAAA3E,UAAAkvD,UAAA,SAAAtnD,GAAmCA,EAAAknD,SAAA,GAAanqD,EAAA3E,UAAAmvD,WAAA,SAAAvnD,GAAoCA,EAAAinD,mBAAAxmD,KAAAulD,WAAAc,KAAA,cAAwD12C,IAAApQ,EAAAoQ,IAAAtW,KAAA2G,KAAA3G,KAAA4C,OAAA+D,KAAA9G,IAAwC,aAAaqG,EAAA6mD,WAAa9pD,EAAA3E,UAAAovD,SAAA,WAAiC/mD,KAAAulD,WAAAyB,UAAA,gBAA0C3tD,KAAA2G,KAAA3G,KAAA4C,OAAA+D,KAAA9G,IAA8B,eAAeoD,EAAA3E,UAAA81B,UAAA,WAAkC,OAAOp0B,KAAA2G,KAAA3G,KAAAF,KAAA6G,KAAAylD,QAAgCnpD,GAAGusC,QAAUvyC,QAAAD,QAAAivD,gBAC7wFxd,iBAAA,GAAAmf,kBAAA,IAAAr2B,eAAA,IAAAq0B,iBAAA,MAAkFiC,IAAA,SAAApnD,QAAAxJ,OAAAD,SACrF,YAAa,IAAA8wD,MAAArnD,QAAA,gBAAAyJ,OAAAzJ,QAAA,kBAAAmqB,eAAAnqB,QAAA,qBAAAsnD,MAAAtnD,QAAA,UAAA2gB,aAAA3gB,QAAA,gBAAA4L,UAAA5L,QAAA,cAAAunD,oBAAA,SAAA/qD,GAAyS,QAAAkD,GAAAA,EAAAD,EAAAtI,GAAkBqF,EAAA5F,KAAAsJ,KAAAR,EAAAD,GAAAtI,IAAA+I,KAAAsnD,YAAArwD,GAAA+I,KAAAunD,mBAAiE,MAAAjrD,KAAAkD,EAAAgyB,UAAAl1B,GAAAkD,EAAA7H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA6H,EAAA7H,UAAAgrB,YAAAnjB,EAAAA,EAAA7H,UAAA+uD,eAAA,SAAApqD,EAAAkD,GAAuI,GAAAD,GAAAjD,EAAAL,OAAAhF,EAAAqF,EAAAwiC,KAAyB,KAAA9+B,KAAAunD,gBAAAhoD,GAAA,MAAAC,GAAA,KAAA,KAAgD,IAAAjI,GAAAyI,KAAAunD,gBAAAhoD,GAAAqO,QAAA1N,KAAAgK,IAAAjT,EAAA0Q,EAAArL,EAAA0P,SAAA/U,EAAA2J,EAAA3J,EAAAuJ,EAAuE,KAAAjJ,EAAA,MAAAiI,GAAA,KAAA,KAA0B,IAAAC,GAAA,GAAAwqB,gBAAA1yB,EAAA+B,SAAqCmG,GAAA1I,KAAA,mBAA2B,IAAA2I,GAAA0nD,OAAa7+B,QAAQi/B,kBAAA/nD,IAAuB,KAAAC,EAAA+nD,YAAA/nD,EAAAgY,aAAAhY,EAAAgN,OAAAgL,aAAAhY,EAAA,GAAA2W,YAAA3W,IAAAD,EAAAioD,QAAAhoD,EAAAgN,OAAAlN,EAAA,KAAAC,IAAyGD,EAAA7H,UAAAgwD,SAAA,SAAArrD,EAAAkD,GAAoC,GAAAD,GAAA,SAAAA,EAAAtI,GAAoB,GAAAM,GAAAyI,IAAW,OAAAT,GAAAC,EAAAD,GAAA,gBAAAtI,GAAAuI,EAAA,GAAAG,OAAA,+CAAA4J,OAAAtS,GAAA,OAAA+I,MAAA4nD,WAAA3wD,EAAAqF,EAAA,SAAAiD,EAAAtI,GAAgJ,MAAAsI,GAAAC,EAAAD,IAAAhI,EAAAgwD,gBAAAjrD,EAAAL,QAAAhF,MAAAuI,GAAA,WAA8DgU,KAAAxT,KAAYA,MAAAsnD,YAAAhrD,EAAAiD,IAAsBC,EAAA7H,UAAA2vD,YAAA,SAAAhrD,EAAAkD,GAAuC,GAAAlD,EAAA6pD,IAAAgB,KAAAU,QAAAvrD,EAAA6pD,IAAA3mD,OAA+B,CAAK,GAAA,gBAAAlD,GAAAnD,KAAA,MAAAqG,GAAA,GAAAG,OAAA,6CAA4F,KAAI,MAAAH,GAAA,KAAAuN,KAAA+6C,MAAAxrD,EAAAnD,OAAkC,MAAAmD,GAAS,MAAAkD,GAAA,GAAAG,OAAA,iDAAmEH,EAAA7H,UAAAowD,aAAA,SAAAzrD,GAAsC0D,KAAAunD,gBAAAjrD,EAAAL,eAAA+D,MAAAunD,gBAAAjrD,EAAAL,SAAsEuD,EAAA7H,UAAAiwD,WAAA,SAAAtrD,EAAAkD,EAAAD,GAAwC,IAAIC,EAAA4hB,QAAA7hB,EAAA,KAAAkhB,aAAAjhB,EAAAomD,qBAAAhkC,KAAAtlB,EAAAhD,WAAAiG,EAAA,KAAAmM,UAAApP,EAAAkD,EAAAmmD,mBAA+G,MAAArpD,GAAS,MAAAiD,GAAAjD,KAAakD,GAA3uDM,QAAA,+BAAuwDxJ,QAAAD,QAAAgxD,sBACjxDW,eAAA,IAAAC,oBAAA,GAAAC,8BAAA,GAAAC,iBAAA,EAAAC,aAAA,GAAA3nC,aAAA,GAAA4nC,SAAA,KAA4IC,IAAA,SAAAxoD,QAAAxJ,OAAAD,SAC/I,YAAa,IAAAsmB,OAAA7c,QAAA,kBAAAmoB,kBAAAnoB,QAAA,eAAAmoB,kBAAAkJ,OAAArxB,QAAA,kBAAAmrB,eAAA,SAAA3uB,GAA2J,GAAAiD,GAAAS,IAAW,IAAAA,KAAA3G,KAAAiD,EAAAjD,KAAA,IAAAiD,EAAAjD,KAAA,CAAgC2G,KAAAkrB,cAAoB,KAAA,GAAA1rB,GAAA,EAAYA,EAAAlD,EAAA/C,SAAAZ,OAAoB6G,IAAAD,EAAA2rB,YAAAtwB,MAAA0B,EAAA/C,SAAAiG,SAAwCQ,MAAAkrB,YAAA5uB,EAAA/C,QAAiCyG,MAAAvG,WAAA6C,EAAAgO,KAAA,MAAAhO,KAAAmU,MAAAnU,EAAApD,MAAA8G,KAAA9G,GAAAkhC,SAAA99B,EAAApD,GAAA,KAAA8G,KAAAkM,OAAAilB,OAA+FlG,gBAAAtzB,UAAAwxB,aAAA,WAAiD,GAAA7sB,GAAA0D,KAAAT,EAAAS,KAAAkrB,WAA8BlrB,MAAAzG,WAAiB,KAAA,GAAAiG,GAAA,EAAYA,EAAAD,EAAA5G,OAAW6G,IAAA,CAAK,IAAA,GAAAvI,GAAAsI,EAAAC,GAAAE,KAAAnJ,EAAA,EAAwBA,EAAAU,EAAA0B,OAAWpC,IAAAmJ,EAAA9E,KAAA,GAAA+hB,OAAA1lB,EAAAV,GAAA,GAAAU,EAAAV,GAAA,IAAuC+F,GAAA/C,SAAAqB,KAAA8E,GAAmB,MAAAM,MAAAzG,UAAqB0xB,eAAAtzB,UAAAyxB,KAAA,WAA0CppB,KAAAzG,UAAAyG,KAAAmpB,cAAmC,KAAA,GAAA7sB,GAAA0D,KAAAzG,SAAAgG,EAAA,EAAA,EAAAC,GAAA,EAAA,EAAAvI,EAAA,EAAA,EAAAyI,GAAA,EAAA,EAAAnJ,EAAA,EAA0DA,EAAA+F,EAAA3D,OAAWpC,IAAA,IAAA,GAAAsB,GAAAyE,EAAA/F,GAAAgB,EAAA,EAAuBA,EAAAM,EAAAc,OAAWpB,IAAA,CAAK,GAAAgJ,GAAA1I,EAAAN,EAAWgI,GAAAW,KAAAgK,IAAA3K,EAAAgB,EAAAK,GAAApB,EAAAU,KAAAyD,IAAAnE,EAAAe,EAAAK,GAAA3J,EAAAiJ,KAAAgK,IAAAjT,EAAAsJ,EAAAC,GAAAd,EAAAQ,KAAAyD,IAAAjE,EAAAa,EAAAC,GAAwE,OAAAjB,EAAAtI,EAAAuI,EAAAE,IAAgBurB,eAAAtzB,UAAA0xB,UAAA,WAA+CpB,kBAAAtwB,UAAA0xB,UAAA3yB,KAAAsJ,MAAkD,IAAAiqB,gBAAA,SAAA3tB,GAA+B0D,KAAA1G,SAAAgD,EAAA0D,KAAArH,OAAA2D,EAAA3D,OAAAqH,KAAAkM,OAAAilB,OAAyDlH,gBAAAtyB,UAAAwF,QAAA,SAAAb,GAA6C,MAAA,IAAA2uB,gBAAAjrB,KAAA1G,SAAAgD,KAA4ChG,OAAAD,QAAA4zB,iBACxsC6d,iBAAA,GAAAxe,iBAAA,GAAA6B,cAAA,KAAyDo9B,IAAA,SAAAzoD,QAAAxJ,OAAAD,SAC5D,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAA1G,OAAA0G,QAAA,kBAAA0kC,UAAA1kC,QAAA,gBAAAqjC,OAAArjC,QAAA,kBAAA6c,MAAA7c,QAAA,kBAAA+oC,QAAA/oC,QAAA,mBAAAqnD,KAAArnD,QAAA,gBAAAqxB,OAAArxB,QAAA,kBAAA2iC,kBAAA3iC,QAAA,+BAAAsW,OAAAtW,QAAA,kBAAAk9B,kBAAAl9B,QAAA,iCAAAokD,YAAA,SAAA3kD,GAAmb,QAAAjD,GAAAA,EAAArF,EAAAuI,EAAAjJ,GAAoBgJ,EAAA7I,KAAAsJ,MAAAA,KAAA9G,GAAAoD,EAAA0D,KAAAulD,WAAA/lD,EAAAQ,KAAAxG,YAAAvC,EAAAuC,YAAAwG,KAAA3G,KAAA,QAAA2G,KAAAymC,QAAA,EAAAzmC,KAAA0mC,QAAA,GAAA1mC,KAAAu/B,SAAA,IAAAv/B,KAAAwlD,iBAAAjvD,GAAAyJ,KAAA4L,QAAA3U,EAAmL,MAAAsI,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAAiqB,KAAA,WAA0H,GAAAriB,GAAAS,IAAWA,MAAAwkD,KAAA,eAAyBuB,SAAA,WAAkB/lD,KAAAmmD,IAAAnmD,KAAA4L,QAAAu6C,IAAAgB,KAAAqB,SAAAxoD,KAAA4L,QAAAu6C,IAAA,SAAA7pD,EAAArF,GAAyE,MAAAqF,GAAAiD,EAAAilD,KAAA,SAAyBt+B,MAAA5pB,KAAQiD,EAAAkpD,MAAAxxD,MAAAsI,GAAAslD,qBAAwCvoD,EAAA3E,UAAAktD,eAAA,WAAuC7kD,KAAAhF,MAAAgF,KAAA0oD,eAAA1oD,KAAAxG,aAAAwG,KAAAwkD,KAAA,QAAmEuB,SAAA,SAAAE,eAAA,eAA+C3pD,EAAA3E,UAAAotD,MAAA,SAAAxlD,GAA+BS,KAAA4hB,OAAA5hB,KAAAhF,IAAAuE,EAAAS,KAAAyoD,OAAAzoD,KAAA0oD,eAAA1oD,KAAAxG,cAAyE8C,EAAA3E,UAAA+wD,eAAA,SAAAnpD,GAAwCS,KAAAxG,YAAA+F,CAAmB,IAAAjD,GAAA0D,KAAAhF,IAAA/D,EAAAsI,EAAAvE,IAAA,SAAAuE,GAAmC,MAAAjD,GAAA8Q,UAAA65B,mBAAA9D,OAAAt4B,QAAAtL,IAAAyjC,OAAA,KAAmExjC,EAAAQ,KAAA2oD,YAAA74B,KAAA84B,qBAAA3xD,EAAkD,OAAAuI,GAAAsjC,OAAA5iC,KAAAwN,MAAAlO,EAAAsjC,QAAAtjC,EAAAujC,IAAA7iC,KAAAwN,MAAAlO,EAAAujC,KAAA/iC,KAAA8+B,MAAA,GAAA0F,WAAAhlC,EAAAlE,KAAAkE,EAAAsjC,OAAAtjC,EAAAujC,KAAA/iC,KAAAymC,QAAAzmC,KAAA0mC,QAAAlnC,EAAAlE,KAAA0E,KAAA6oD,YAAA5xD,EAAA+D,IAAA,SAAAuE,GAAiL,GAAAjD,GAAAiD,EAAAyjC,OAAAxjC,EAAAlE,KAAuB,OAAA,IAAAqhB,OAAAzc,KAAAyO,OAAArS,EAAAwmC,OAAAtjC,EAAAsjC,QAAA3R,QAAAjxB,KAAAyO,OAAArS,EAAAymC,IAAAvjC,EAAAujC,KAAA5R,WAA0FnxB,KAAAwkD,KAAA,QAAoBuB,SAAA,SAAAE,eAAA,YAA2CjmD,MAAO1D,EAAA3E,UAAAmxD,SAAA,SAAAvpD,GAAkCS,KAAA6N,KAAAtO,CAAY,IAAAjD,GAAA,MAAArF,EAAA,GAAAwrC,kBAAoCxrC,GAAAg6B,YAAAjxB,KAAA6oD,YAAA,GAAAjoD,EAAAZ,KAAA6oD,YAAA,GAAAroD,EAAA,EAAA,GAAAvJ,EAAAg6B,YAAAjxB,KAAA6oD,YAAA,GAAAjoD,EAAAZ,KAAA6oD,YAAA,GAAAroD,EAAAlE,EAAA,GAAArF,EAAAg6B,YAAAjxB,KAAA6oD,YAAA,GAAAjoD,EAAAZ,KAAA6oD,YAAA,GAAAroD,EAAA,EAAAlE,GAAArF,EAAAg6B,YAAAjxB,KAAA6oD,YAAA,GAAAjoD,EAAAZ,KAAA6oD,YAAA,GAAAroD,EAAAlE,EAAAA,GAAA0D,KAAA6N,KAAAk7C,WAAgR/oD,KAAA6N,KAAAgqC,aAAAzhC,OAAA4lB,gBAAA/kC,EAAAmf,OAAAwmB,WAAAC,QAAA78B,KAAA6N,KAAAkqC,UAAA,GAAA/a,oBAAqH1gC,EAAA3E,UAAAy/B,QAAA,WAAgCp3B,KAAA6N,MAAA7N,KAAAyoD,OAAAzoD,KAAAglD,cAAAhlD,KAAAhF,IAAAu2C,QAAArV,GAAAl8B,KAAAyoD,QAA0EnsD,EAAA3E,UAAAqtD,cAAA,SAAAzlD,EAAAjD,EAAArF,GAA2C,WAAA+I,KAAA6N,KAAAm7C,OAAAhpD,KAAA6N,KAAAm7C,MAAA,SAAAhpD,KAAA6N,KAAA2jC,QAAAjyC,EAAAozC,gBAAApzC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAA6N,KAAA2jC,SAAAjyC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAszC,eAAAtzC,EAAAuzC,eAAAvzC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAwzC,eAAAxzC,EAAAuzC,eAAAvzC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAyzC,mBAAAzzC,EAAA0zC,QAAA1zC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAA2zC,mBAAA3zC,EAAA0zC,QAAA1zC,EAAA4zC,WAAA5zC,EAAAmzC,WAAA,EAAAnzC,EAAA6zC,KAAA7zC,EAAA6zC,KAAA7zC,EAAA8zC,cAAA/2C,IAAArF,EAAAsI,EAAA4zC,WAAA5zC,EAAAmzC,WAAA,EAAAnzC,EAAA6zC,KAAA7zC,EAAA6zC,KAAA7zC,EAAA8zC,cAAA/2C,IAAAA,YAAAlD,QAAA6vD,kBAAA3sD,YAAAlD,QAAA8vD,WAAA5sD,YAAAlD,QAAA+vD,qBAAA5pD,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAA6N,KAAA2jC,SAAAjyC,EAAAw7C,cAAAx7C,EAAAmzC,WAAA,EAAA,EAAA,EAAAnzC,EAAA6zC,KAAA7zC,EAAA8zC,cAAA/2C,KAAqtBA,EAAA3E,UAAA4uD,SAAA,SAAAhnD,EAAAjD,GAAoC0D,KAAA8+B,OAAA9+B,KAAA8+B,MAAA/nB,aAAAxX,EAAAu/B,MAAA/nB,YAAA/W,KAAA8oD,SAAAvpD,GAAAjD,EAAA,QAAAiD,EAAAypD,MAAA,UAAA1sD,EAAA,QAA8GA,EAAA3E,UAAA81B,UAAA,WAAkC,OAAOp0B,KAAA,QAAA+vD,KAAAppD,KAAAmmD,IAAA3sD,YAAAwG,KAAAxG,cAAyD8C,GAAGusC,QAAUvyC,QAAAD,QAAA6tD,cACp0GpU,iBAAA,GAAAhI,iBAAA,GAAAsZ,8BAAA,GAAAiI,iBAAA,GAAA/rB,gCAAA,GAAA0qB,eAAA,IAAAf,kBAAA,IAAAr2B,eAAA,IAAAq0B,iBAAA,IAAAqE,eAAA,GAAAhgC,iBAAA,KAAuPigC,IAAA,SAAAzpD,QAAAxJ,OAAAD,SAC1P,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAAqnD,KAAArnD,QAAA,gBAAA0f,QAAA1f,QAAA,mBAAA0pD,aAAA1pD,QAAA,kBAAA2pD,kBAA2JnzD,QAAAD,QAAA,SAAAmJ,EAAAlD,GAA6B,GAAArF,GAAA,SAAAuI,EAAAvI,GAAoB,GAAAuI,EAAA,MAAAlD,GAAAkD,EAAiB,IAAAjJ,GAAAu5B,KAAA45B,KAAAzyD,GAAA,QAAA,UAAA,UAAA,cAAA,cAAA,UAAsFA,GAAA0yD,gBAAApzD,EAAAqzD,aAAA3yD,EAAA0yD,cAAApzD,EAAAszD,eAAAtzD,EAAAqzD,aAAA5uD,IAAA,SAAAwE,GAAiG,MAAAA,GAAAtG,MAAYoD,EAAA,KAAA/F,GAAciJ,GAAA2mD,IAAAgB,KAAAU,QAAA2B,aAAAhqD,EAAA2mD,KAAAlvD,GAAAuoB,QAAAsqC,MAAA7yD,EAAAuc,KAAA,KAAA,KAAAhU,OACxbwoD,eAAA,IAAA1b,kBAAA,IAAAyd,iBAAA,IAAAn5B,eAAA,MAAiFo5B,IAAA,SAAAlqD,QAAAxJ,OAAAD,SACpF,YAAa,IAAA86B,QAAArxB,QAAA,iBAAqCxJ,QAAAD,QAAA,SAAAiG,EAAAiD,EAAAC,GAA+B,MAAAD,IAAA4xB,QAAA70B,EAAAijC,SAAAr/B,KAAA+F,IAAA,EAAAzG,EAAAlD,EAAAwiC,MAAAn3B,QAC9EmgC,iBAAA,KAAoBmiB,IAAA,SAAAnqD,QAAAxJ,OAAAD,SACvB,YAAa,SAAA6zD,aAAA5tD,EAAAkD,GAA0B,GAAAvI,GAAAqF,EAAAwiC,MAAAv/B,EAAAC,EAAAs/B,KAAwB,OAAA7nC,GAAA0Q,EAAApI,EAAAoI,GAAA1Q,EAAAuJ,EAAAjB,EAAAiB,GAAAvJ,EAAAwJ,EAAAlB,EAAAkB,GAAAxJ,EAAA2J,EAAArB,EAAAqB,EAA0C,QAAAupD,4BAAA7tD,GAAuC,IAAA,GAAAkD,GAAAlD,EAAA,OAAkBrF,EAAA,EAAKA,EAAAqF,EAAA3D,OAAW1B,IAAA,CAAK,GAAAsI,GAAAjD,EAAArF,EAAW,KAAA,GAAAM,KAAAgI,GAAA,CAAgB,GAAAG,GAAAH,EAAAhI,GAAAhB,EAAAiJ,EAAAjI,EAAkB,QAAA,KAAAhB,EAAAA,EAAAiJ,EAAAjI,GAAAmI,MAAuB,KAAA,GAAAD,GAAA,EAAiBA,EAAAC,EAAA/G,OAAW8G,IAAAlJ,EAAAqE,KAAA8E,EAAAD,KAAkB,MAAAD,GAAS,GAAAglC,WAAA1kC,QAAA,eAAsCzJ,SAAA+zD,SAAA,SAAA9tD,EAAAkD,EAAAvI,EAAAsI,EAAAhI,EAAAmI,GAAuC,GAAAnJ,GAAA+F,EAAA+tD,QAAApzD,EAAmBV,GAAA2R,KAAAgiD,YAAoB,KAAA,GAAAzqD,MAAA3H,EAAA,EAAiBA,EAAAvB,EAAAoC,OAAWb,IAAA,CAAK,GAAAhB,GAAAP,EAAAuB,EAAWhB,GAAA+W,KAAAwiB,cAAA5wB,EAAA7E,KAAA9D,EAAA+W,KAAAwiB,aAAAvgB,OAAuD4vB,cAAA5oC,EAAA4oC,cAAA79B,MAAA/K,EAAA+K,MAAA09B,SAAAzoC,EAAA+W,KAAA0xB,SAAAK,QAAAlgC,EAAA4/B,OAAA//B,GAAwFC,IAAK,MAAA2qD,4BAAA1qD,IAAqCpJ,QAAA4F,OAAA,SAAAK,EAAAkD,GAA8B,IAAA,GAAAvI,GAAAqF,EAAAguD,mBAAAtvD,IAAA,SAAAwE,GAA+C,MAAAlD,GAAAiuD,YAAA/qD,KAAwBD,KAAAhI,KAAWmI,EAAA,EAAKA,EAAAzI,EAAA0B,OAAW+G,IAAA,CAAK,GAAAnJ,GAAAU,EAAAyI,GAAAD,EAAA,GAAA+kC,WAAAtkC,KAAAgK,IAAA3T,EAAAi0D,cAAAj0D,EAAAuoC,MAAAn3B,GAAApR,EAAAuoC,MAAAl+B,EAAArK,EAAAuoC,MAAAt+B,EAAA,GAAAtH,EAAyF3B,GAAAkI,KAAAlI,EAAAkI,IAAA,EAAAlJ,EAAAk0D,oBAAAlrD,EAAAC,IAA2C,MAAAD,MACj5B+pD,eAAA,KAAkBoB,IAAA,SAAA5qD,QAAAxJ,OAAAD,SACrB,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAAqnD,KAAArnD,QAAA,gBAAA+oC,QAAA/oC,QAAA,mBAAA6qD,aAAA7qD,QAAA,mBAAA0pD,aAAA1pD,QAAA,kBAAA8qD,iBAAAC,WAAA/qD,QAAA,iBAAAgrD,iBAAA,SAAAxuD,GAAkQ,QAAAiD,GAAAA,EAAAhJ,EAAAiJ,EAAAvI,GAAoBqF,EAAA5F,KAAAsJ,MAAAA,KAAA9G,GAAAqG,EAAAS,KAAAulD,WAAA/lD,EAAAQ,KAAAwlD,iBAAAvuD,GAAA+I,KAAA3G,KAAA,SAAA2G,KAAAymC,QAAA,EAAAzmC,KAAA0mC,QAAA,GAAA1mC,KAAAomC,WAAA,EAAApmC,KAAA+qD,OAAA,MAAA/qD,KAAAu/B,SAAA,IAAAv/B,KAAAsmD,SAAA,EAAAtmD,KAAA4L,QAAArV,EAAAu5B,KAAA1yB,OAAA4C,KAAA8vB,KAAA45B,KAAAnzD,GAAA,MAAA,SAAA,cAAoQ,MAAA+F,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,EAAA5H,UAAAiqB,KAAA,WAA0H,GAAAtlB,GAAA0D,IAAWA,MAAAwkD,KAAA,eAAyBuB,SAAA,WAAkB4E,aAAA3qD,KAAA4L,QAAA,SAAArM,EAAAhJ,GAA0C,MAAAgJ,GAAAjD,EAAAkoD,KAAA,QAAAjlD,IAAAuwB,KAAA1yB,OAAAd,EAAA/F,GAAA+F,EAAA0uD,UAAAz0D,EAAAqG,QAAAN,EAAAkoD,KAAA,QAAkFuB,SAAA,SAAAE,eAAA,iBAA4C3pD,GAAAkoD,KAAA,QAAsBuB,SAAA,SAAAE,eAAA,gBAAgD1mD,EAAA5H,UAAAotD,MAAA,SAAAzoD,GAA+B0D,KAAA4hB,OAAA5hB,KAAAhF,IAAAsB,GAAuBiD,EAAA5H,UAAAqzD,UAAA,SAAA1uD,GAAmC0D,KAAApD,OAAAN,EAAAA,IAAA0D,KAAAirD,WAAA,GAAAJ,YAAAvuD,EAAA0D,KAAAymC,QAAAzmC,KAAA0mC,WAA+EnnC,EAAA5H,UAAA81B,UAAA,WAAkC,OAAOp0B,KAAA,SAAA8sD,IAAAnmD,KAAAmmD,IAAA5mB,SAAAv/B,KAAAu/B,SAAApzB,MAAAnM,KAAAmM,MAAAvP,OAAAoD,KAAApD,SAAuF2C,EAAA5H,UAAAuzD,QAAA,SAAA5uD,GAAiC,OAAA0D,KAAAirD,YAAAjrD,KAAAirD,WAAAE,SAAA7uD,EAAA0D,KAAA0mC,UAAiEnnC,EAAA5H,UAAA4uD,SAAA,SAAAjqD,EAAAiD,GAAoC,QAAAhJ,GAAAA,EAAAiJ,GAAgB,SAAAlD,GAAAyJ,QAAAzJ,EAAAmqD,QAAA,MAAAzmD,MAAAgpD,MAAA,WAAAzpD,EAAA,KAAmE,IAAAhJ,EAAA,MAAAyJ,MAAAgpD,MAAA,UAAAzpD,EAAAhJ,EAAsCyJ,MAAAhF,IAAAowD,sBAAA9uD,EAAA+uD,cAAA7rD,SAAAA,GAAA8rD,mBAAA9rD,GAAA+rD,OAAyF,IAAAt0D,GAAA+I,KAAAhF,IAAAu2C,QAAArV,EAA0B5/B,GAAAk1C,QAAAxxC,KAAAhF,IAAAu2C,QAAAkO,eAAAjgD,EAAA+D,OAAAjH,EAAAk1C,SAAAv6C,EAAAw7C,YAAAx7C,EAAAy7C,WAAAp2C,EAAAk1C,SAAAv6C,EAAA8jD,cAAA9jD,EAAAy7C,WAAA,EAAA,EAAA,EAAAz7C,EAAAm8C,KAAAn8C,EAAAo8C,cAAA7zC,KAAAlD,EAAAk1C,QAAAv6C,EAAA07C,gBAAA17C,EAAAw7C,YAAAx7C,EAAAy7C,WAAAp2C,EAAAk1C,SAAAv6C,EAAA27C,cAAA37C,EAAAy7C,WAAAz7C,EAAA+7C,mBAAA/7C,EAAAu0D,uBAAAv0D,EAAA27C,cAAA37C,EAAAy7C,WAAAz7C,EAAAi8C,mBAAAj8C,EAAAg8C,QAAAh8C,EAAA27C,cAAA37C,EAAAy7C,WAAAz7C,EAAA47C,eAAA57C,EAAA67C,eAAA77C,EAAA27C,cAAA37C,EAAAy7C,WAAAz7C,EAAA87C,eAAA97C,EAAA67C,eAAA9yC,KAAAhF,IAAAu2C,QAAA+L,6BAAArmD,EAAAw0D,cAAAx0D,EAAAy7C,WAAA1yC,KAAAhF,IAAAu2C,QAAA+L,4BAAAoO,2BAAA1rD,KAAAhF,IAAAu2C,QAAAiM,gCAAAvmD,EAAAk8C,WAAAl8C,EAAAy7C,WAAA,EAAAz7C,EAAAm8C,KAAAn8C,EAAAm8C,KAAAn8C,EAAAo8C,cAAA7zC,GAAAlD,EAAAk1C,QAAAjM,KAAA/lC,EAAA+D,OAAAtM,EAAA00D,eAAA10D,EAAAy7C,YAAAp2C,EAAA0sD,MAAA,SAAAzpD,EAAA,MAA2zB,GAAAC,GAAAgqD,aAAAltD,EAAAwiC,MAAAqnB,IAAAnmD,KAAAmM,MAAA,KAAAnM,KAAA+qD,QAAA/qD,KAAAmmD,IAAAnmD,KAAAu/B,SAAoFjjC,GAAAyJ,QAAAohD,KAAAqB,SAAAhpD,EAAAjJ,EAAAid,KAAAxT,QAAwCT,EAAA5H,UAAAkvD,UAAA,SAAAvqD,GAAmCA,EAAAyJ,UAAAzJ,EAAAyJ,QAAA6lD,cAAAtvD,GAAAyJ,UAAgDxG,EAAA5H,UAAAmvD,WAAA,SAAAxqD,GAAoCA,EAAAk1C,SAAAxxC,KAAAhF,IAAAu2C,QAAAiO,gBAAAljD,EAAAk1C,UAAuDjyC,GAAGspC,QAAUvyC,QAAAD,QAAAy0D,mBAC9sF9C,eAAA,IAAAf,kBAAA,IAAA8C,iBAAA,IAAAn5B,eAAA,IAAAi7B,kBAAA,GAAAC,gBAAA,KAAyHC,IAAA,SAAAjsD,QAAAxJ,OAAAD,SAC5H,YAAa,IAAA8wD,MAAArnD,QAAA,gBAAA+oC,QAAA/oC,QAAA,mBAAA1G,OAAA0G,QAAA,kBAAAksD,iBAAA,EAAAC,cAAA,IAA2I31D,QAAAD,QAAA61D,QAAA,GAAArjB,SAAAvyC,OAAAD,QAAA81D,8BAAA,SAAA7vD,GAA4F,MAAA2vD,eAAA3vD,EAAA2vD,cAAA31D,OAAAD,QAAA+1D,eAAA91D,OAAAD,QAAA61D,QAAArsC,KAAA,kBAAAvjB,GAAAA,GAAsHhG,OAAAD,QAAA2yC,iBAAA,SAAA1sC,EAAA9F,GAA+C,GAAAw1D,gBAAA,KAAA,IAAArsD,OAAA,oDAAwFqsD,kBAAA,EAAA11D,OAAAD,QAAA+1D,cAAA51D,EAAA2wD,KAAAkF,eAAA/vD,EAAA,SAAAA,EAAAiD,GAAsFjD,EAAA9F,EAAA8F,IAAA2vD,cAAA7yD,OAAAqzB,IAAAM,gBAAA,GAAA3zB,QAAAyzB,MAAAttB,EAAApG,QAA4EE,KAAA,oBAAuB/C,OAAAD,QAAA61D,QAAA1H,KAAA,mBAAiDyH,cAAAA,cAAAG,cAAA51D,UACxtBwxD,eAAA,IAAAf,kBAAA,IAAAhC,iBAAA,MAA8DqH,IAAA,SAAAxsD,QAAAxJ,OAAAD,SACjE,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAAysD,aAA8CC,OAAA1sD,QAAA,gCAAAo8C,OAAAp8C,QAAA,gCAAA2sD,QAAA3sD,QAAA,4BAAA4sD,MAAA5sD,QAAA,0BAAA2oD,MAAA3oD,QAAA,0BAAAukD,OAAAvkD,QAAA,2BAAqQzJ,SAAAsL,OAAA,SAAArF,EAAAkD,EAAAvI,EAAAwI,GAAiC,IAAAD,EAAA,GAAA+sD,aAAA/sD,EAAAnG,MAAAiD,EAAAkD,EAAAvI,EAAAwI,IAAAvG,KAAAoD,EAAA,KAAA,IAAAqD,OAAA,4BAAArD,EAAA,eAAAkD,EAAAtG,GAAkH,OAAA42B,MAAA68B,SAAA,OAAA,QAAA,SAAA,YAAA,WAAAntD,GAAAA,GAAyEnJ,QAAAu2D,QAAA,SAAAtwD,GAA6B,MAAAiwD,aAAAjwD,IAAsBjG,QAAAw2D,QAAA,SAAAvwD,EAAAkD,GAA+B+sD,YAAAjwD,GAAAkD,KAC3mBstD,0BAAA,GAAAC,2BAAA,GAAAC,yBAAA,GAAAC,+BAAA,GAAAC,+BAAA,GAAAC,yBAAA,GAAAv8B,eAAA,MAA0Mw8B,IAAA,SAAAttD,QAAAxJ,OAAAD,SAC7M,YAAa,SAAAg3D,uBAAA/wD,EAAAiD,EAAAtI,GAAsC,GAAAV,GAAAU,EAAA+rC,OAAA9iC,KAAAgK,IAAA5N,EAAAqL,EAAApI,GAAgC,QAAOqB,GAAArK,EAAAusC,QAAAxmC,EAAAsE,EAAAtE,EAAAmE,EAAAP,KAAA+F,IAAA,EAAA3J,EAAAqL,KAAAwpB,OAAA3wB,GAAAjK,EAAAwsC,IAAAzmC,EAAAkE,GAAA2wB,QAAoE,QAAAm8B,gBAAAhxD,EAAAiD,GAA6B,MAAAjD,GAAA,GAAAiD,EAAA,GAAiB,QAAAguD,cAAAjxD,GAAyB,MAAA,WAAAA,GAAA,UAAAA,GAAA,UAAAA,EAA6C,GAAAkxD,QAAA1tD,QAAA,YAAA2tD,KAAA3tD,QAAA,UAAA+oC,QAAA/oC,QAAA,mBAAA0kC,UAAA1kC,QAAA,gBAAA4tD,MAAA5tD,QAAA,qBAAA+iC,WAAA/iC,QAAA,qBAAAgwB,KAAAhwB,QAAA,gBAAAqxB,OAAArxB,QAAA,kBAAA87C,YAAA,SAAAt/C,GAA4R,QAAAiD,GAAAA,EAAAtI,EAAAV,GAAkB+F,EAAA5F,KAAAsJ,MAAAA,KAAA9G,GAAAqG,EAAAS,KAAAulD,WAAAhvD,EAAAyJ,KAAAnE,GAAA,OAAA,SAAAS,GAAoE,WAAAA,EAAAypD,UAAA,aAAAzpD,EAAA2pD,iBAAAjmD,KAAA2tD,eAAA,GAAA3tD,KAAA2tD,eAAA,WAAArxD,EAAAypD,UAAA,YAAAzpD,EAAA2pD,iBAAAjmD,KAAA4tD,SAAA5tD,KAAAoN,WAAApN,KAAA6tD,OAAA7tD,KAAAoN,cAAmNpN,KAAAnE,GAAA,QAAA,WAA6BmE,KAAA8tD,gBAAA,IAAuB9tD,KAAA+tD,QAAAP,OAAA7rD,OAAApC,EAAAtI,EAAAV,EAAAyJ,MAAAA,KAAAguD,UAAuDhuD,KAAAiuD,OAAA,GAAAP,OAAA,EAAA1tD,KAAA8mD,WAAAtzC,KAAAxT,OAAAA,KAAAkuD,WAAoEluD,KAAAmuD,gBAAqBnuD,KAAAouD,gBAAApuD,KAAAouD,gBAAA56C,KAAAxT,MAAsD,MAAA1D,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,EAAA5H,UAAAotD,MAAA,SAAAzoD,GAA4H0D,KAAAhF,IAAAsB,EAAA0D,KAAA+tD,SAAA/tD,KAAA+tD,QAAAhJ,OAAA/kD,KAAA+tD,QAAAhJ,MAAAzoD,IAAmEiD,EAAA5H,UAAAovD,SAAA,SAAAzqD,GAAkC0D,KAAA+tD,SAAA/tD,KAAA+tD,QAAAhH,UAAA/mD,KAAA+tD,QAAAhH,SAAAzqD,IAA8DiD,EAAA5H,UAAA6gD,OAAA,WAA+B,GAAAl8C,GAAA0D,IAAW,IAAAA,KAAA8tD,eAAA,OAAA,CAAgC,KAAA9tD,KAAA2tD,cAAA,OAAA,CAAgC,KAAA,GAAApuD,KAAAjD,GAAA0xD,OAAA,CAAuB,GAAA/2D,GAAAqF,EAAA0xD,OAAAzuD,EAAkB,IAAA,WAAAtI,EAAA+xD,OAAA,YAAA/xD,EAAA+xD,MAAA,OAAA,EAAoD,OAAA,GAASzpD,EAAA5H,UAAA4+C,UAAA,WAAkC,MAAAv2C,MAAA+tD,SAAoBxuD,EAAA5H,UAAA4uD,SAAA,SAAAjqD,EAAAiD,GAAoC,MAAAS,MAAA+tD,QAAAxH,SAAAjqD,EAAAiD,IAAkCA,EAAA5H,UAAAmvD,WAAA,SAAAxqD,GAAoC,GAAA0D,KAAA+tD,QAAAjH,WAAA,MAAA9mD,MAAA+tD,QAAAjH,WAAAxqD,IAA6DiD,EAAA5H,UAAAkvD,UAAA,SAAAvqD,GAAmC,GAAA0D,KAAA+tD,QAAAlH,UAAA,MAAA7mD,MAAA+tD,QAAAlH,UAAAvqD,IAA2DiD,EAAA5H,UAAA81B,UAAA,WAAkC,MAAAztB,MAAA+tD,QAAAtgC,aAAgCluB,EAAA5H,UAAAy/B,QAAA,WAAgC,GAAAp3B,KAAA2tD,eAAA3tD,KAAA+tD,QAAA32B,QAAA,MAAAp3B,MAAA+tD,QAAA32B,WAA0E73B,EAAA5H,UAAA02D,OAAA,WAA+B,MAAAn3D,QAAAqY,KAAAvP,KAAAguD,QAAAhzD,IAAA6qB,QAAA3d,KAAAolD,iBAAiE/tD,EAAA5H,UAAA2yD,iBAAA,WAAyC,MAAAtqD,MAAAquD,SAAAt7C,OAAA/S,KAAAouD,kBAAkD7uD,EAAA5H,UAAAy2D,gBAAA,SAAA9xD,GAAyC,MAAA0D,MAAAguD,OAAA1xD,GAAAgyD,YAAAtuD,KAAAuuD,cAAAjyD,IAAwDiD,EAAA5H,UAAAi2D,OAAA,WAA+B,GAAAtxD,GAAA0D,IAAWA,MAAAiuD,OAAAO,OAAoB,KAAA,GAAAjvD,KAAAjD,GAAA0xD,OAAA1xD,EAAAmyD,WAAAlvD,EAAA,cAAkDA,EAAA5H,UAAA82D,WAAA,SAAAnyD,EAAAiD,GAAsC,GAAAtI,GAAA+I,KAAAguD,OAAA1xD,EAAqBrF,KAAA,YAAAA,EAAA+xD,QAAA/xD,EAAA+xD,MAAAzpD,GAAAS,KAAAumD,SAAAtvD,EAAA+I,KAAA0uD,YAAAl7C,KAAAxT,KAAA/I,EAAAqF,EAAAiD,MAAyFA,EAAA5H,UAAA+2D,YAAA,SAAApyD,EAAAiD,EAAAtI,EAAAV,GAA2C,MAAAA,IAAA+F,EAAA0sD,MAAA,eAAA,MAAAzyD,EAAAo4D,QAAA3uD,KAAA+tD,QAAAvJ,KAAA,SAA4E32C,KAAAvR,EAAA4pB,MAAA3vB,OAAe+F,EAAA46C,YAAAl3C,KAAA1D,EAAA27C,WAAA,GAAAp2B,OAAA+sC,UAAA,YAAA33D,IAAAqF,EAAA47C,yBAAA,GAAAl4C,KAAA6uD,oBAAAtvD,EAAAjD,GAAA0D,KAAA+tD,QAAAvJ,KAAA,QAA+JuB,SAAA,SAAAl4C,KAAAvR,EAAAwiC,MAAAxiC,EAAAwiC,aAAuC9+B,KAAAhF,MAAAgF,KAAAhF,IAAAu2C,QAAAzG,cAAA0Y,IAAA,SAA6DjkD,EAAA5H,UAAAiW,QAAA,SAAAtR,GAAiC,MAAA0D,MAAAuqD,YAAAjuD,EAAApD,KAA8BqG,EAAA5H,UAAA4yD,YAAA,SAAAjuD,GAAqC,MAAA0D,MAAAguD,OAAA1xD,IAAsBiD,EAAA5H,UAAAm3D,QAAA,SAAAxyD,GAAiC,MAAAA,GAAAhB,KAAAgB,EAAA+pC,UAAA/pC,EAAAijC,SAAAv/B,KAAA+tD,QAAAxuB,WAA4DhgC,EAAA5H,UAAAo3D,mBAAA,SAAAzyD,EAAAiD,EAAAtI,GAAgD,GAAAV,GAAAyJ,KAAAR,GAAA,CAAgB,KAAA,GAAA1H,KAAAvB,GAAAy3D,OAAA,CAAuB,GAAAtuD,GAAAnJ,EAAAy3D,OAAAl2D,EAAkB,MAAAb,EAAAa,KAAA4H,EAAA4uD,WAAA5uD,EAAAo/B,MAAAn3B,GAAArL,EAAAqL,GAAAjI,EAAAo/B,MAAAn3B,EAAApI,GAAA,CAAuD,GAAAhI,GAAA2I,KAAA+F,IAAA,EAAA/F,KAAAgK,IAAAxK,EAAAo/B,MAAAn3B,EAAApR,EAAAw3D,QAAArnB,SAAAxmC,KAAAgK,IAAA5N,EAAAqL,EAAApR,EAAAw3D,QAAArnB,SAAwF,IAAAxmC,KAAAwN,MAAAhO,EAAAo/B,MAAAl+B,EAAArJ,KAAA+E,EAAAsE,GAAAV,KAAAwN,MAAAhO,EAAAo/B,MAAAt+B,EAAAjJ,KAAA+E,EAAAkE,EAAA,IAAAvJ,EAAAa,IAAA,EAAA0H,GAAA,EAAiFE,GAAAA,EAAAo/B,MAAAn3B,EAAA,EAAArL,EAAAqL,GAAmB,CAAE,GAAA7Q,GAAA4I,EAAAo/B,MAAAkwB,OAAAz4D,EAAAw3D,QAAArnB,SAAAxtC,IAA2CwG,EAAAnJ,EAAAy3D,OAAAl3D,KAAA4I,EAAA4uD,kBAAAr3D,GAAAa,GAAAb,EAAAH,IAAA,KAAsD,MAAA0I,IAASD,EAAA5H,UAAAw/C,iBAAA,SAAA76C,EAAAiD,EAAAtI,GAA8C,IAAA,GAAAV,GAAAyJ,KAAAR,EAAAlD,EAAAqL,EAAA,EAAuBnI,GAAAD,EAAKC,IAAA,CAAKlD,EAAAA,EAAA0yD,OAAAz4D,EAAAw3D,QAAArnB,QAA8B,IAAA5uC,GAAAvB,EAAAy3D,OAAA1xD,EAAApD,GAAqB,IAAApB,GAAAA,EAAAw2D,UAAA,MAAAr3D,GAAAqF,EAAApD,KAAA,EAAApB,CAAsC,IAAAvB,EAAA03D,OAAAgB,IAAA3yD,EAAApD,IAAA,MAAAjC,GAAAqF,EAAApD,KAAA,EAAA3C,EAAA03D,OAAAiB,mBAAA5yD,EAAApD,MAA2EqG,EAAA5H,UAAAw3D,gBAAA,SAAA7yD,GAAyC,GAAA/F,IAAA2J,KAAAmY,KAAA/b,EAAAiH,MAAAjH,EAAAijC,UAAA,IAAAr/B,KAAAmY,KAAA/b,EAAAkH,OAAAlH,EAAAijC,UAAA,EAAmFv/B,MAAAiuD,OAAAmB,WAAAlvD,KAAAwN,MAAnF,EAAmFnX,KAAwCgJ,EAAA5H,UAAAk2D,OAAA,SAAAvxD,GAAgC,GAAArF,GAAA+I,IAAW,IAAAA,KAAAoN,UAAA9Q,EAAA0D,KAAA2tD,cAAA,CAAwC,GAAAp3D,GAAAiJ,EAAA1H,EAAA4H,CAAYM,MAAAmvD,gBAAA7yD,EAAwB,IAAA/E,IAAAyI,KAAA+tD,QAAA3nB,UAAAlmC,KAAAyO,MAAAzO,KAAAwN,OAAA1N,KAAA8uD,QAAAxyD,IAAAxF,EAAAoJ,KAAAyD,IAAApM,EAAAgI,EAAAm9C,eAAA18C,KAAA+tD,QAAAtnB,SAAA7vC,EAAAsJ,KAAAyD,IAAApM,EAAAgI,EAAAk9C,gBAAAz8C,KAAA+tD,QAAAtnB,SAAAlmC,IAAoLP,MAAAuuD,gBAAsB,IAAA9uD,EAAM,KAAAO,KAAAqvD,KAAArvD,KAAA+tD,QAAAjvB,MAAAr/B,EAAAnD,EAAAgqC,6BAAAtmC,KAAA+tD,QAAAjvB,QAAAr/B,EAAAnD,EAAAkqC,eAA0GjH,SAAAv/B,KAAA+tD,QAAAxuB,SAAAkH,QAAAzmC,KAAA+tD,QAAAtnB,QAAAC,QAAA1mC,KAAA+tD,QAAArnB,QAAAN,UAAApmC,KAAA+tD,QAAA3nB,UAAAQ,kBAAA5mC,KAAA+tD,QAAAnnB,oBAA2K5mC,KAAA+tD,QAAA7C,UAAAzrD,EAAAA,EAAAsT,OAAA,SAAAzW,GAAgD,MAAArF,GAAA82D,QAAA7C,QAAA5uD,OAA4BmD,KAAAlJ,EAAA,EAAaA,EAAAkJ,EAAA9G,OAAWpC,IAAAiJ,EAAAC,EAAAlJ,GAAAuB,EAAAb,EAAAq4D,QAAA9vD,GAAAe,EAAAf,EAAAtG,KAAA,EAAApB,EAAAw2D,WAAAr3D,EAAA83D,mBAAAvvD,EAAA5I,EAAA2J,KAAAb,EAAAzI,EAAAkgD,iBAAA33C,EAAA1I,EAAAyJ,KAAAtJ,EAAAq4D,QAAA5vD,EAAAo/B,MAAmI,IAAAtoC,KAAS,IAAA+2D,aAAAvtD,KAAA+tD,QAAA10D,MAAA,IAAA,GAAA1C,GAAAO,OAAAqY,KAAAhP,GAAA1I,EAAA,EAAgEA,EAAAlB,EAAAgC,OAAWd,IAAA,CAAK,GAAAo6B,GAAAt7B,EAAAkB,EAAW2H,GAAAglC,UAAA+qB,OAAAt9B,IAAAn6B,EAAAb,EAAA+2D,OAAA/7B,UAAA,KAAAn6B,EAAA03D,aAAA13D,EAAA03D,aAAA3tC,KAAAC,SAAA7qB,EAAA83D,mBAAAvvD,EAAA5I,EAAA2J,KAAAA,EAAA0xB,IAAA,IAAAvyB,EAAAzI,EAAAkgD,iBAAA33C,EAAA1I,EAAAN,KAAAS,EAAAq4D,QAAA5vD,EAAAo/B,QAAkM,GAAAx/B,EAAM,KAAAA,IAAA9I,GAAA+J,EAAAjB,KAAArI,EAAAs3D,cAAAjvD,IAAA,EAAyC,KAAAA,IAAA9I,GAAA+J,EAAAjB,IAAA,CAAmB,IAAAqO,GAAAmiB,KAAA2/B,eAAAzvD,KAAAguD,OAAAztD,EAAyC,KAAAhK,EAAA,EAAQA,EAAAoX,EAAAhV,OAAWpC,IAAAU,EAAAy4D,YAAA/hD,EAAApX,MAAyBgJ,EAAA5H,UAAA23D,QAAA,SAAAhzD,GAAiC,GAAAiD,GAAAS,KAAAguD,OAAA1xD,EAAApD,GAAwB,IAAAqG,EAAA,MAAAA,EAAc,IAAAtI,GAAAqF,EAAAqzD,WAAkBpwD,EAAAS,KAAAguD,OAAA/2D,EAAAiC,OAAAqG,EAAAS,KAAAiuD,OAAA32D,IAAAL,EAAAiC,OAAAqG,EAAAqnD,cAAA5mD,KAAA+tD,SAAA/tD,KAAAmuD,aAAAl3D,EAAAiC,MAAAwlB,aAAA1e,KAAAmuD,aAAAl3D,EAAAiC,KAAA8G,KAAAmuD,aAAAl3D,EAAAiC,QAAA,GAAA8G,KAAA6uD,oBAAA53D,EAAAiC,GAAAqG,IAAqN,IAAAhJ,GAAAokB,QAAApb,EAAiB,KAAAhJ,EAAA,CAAO,GAAAiJ,GAAAlD,EAAAqL,EAAA7P,EAAA0H,EAAAQ,KAAA+tD,QAAArnB,QAAAxmC,KAAA+F,IAAA,EAAAzG,EAAAQ,KAAA+tD,QAAArnB,SAAA,CAAwEnnC,GAAA,GAAAkuD,MAAAx2D,EAAA+I,KAAA+tD,QAAAxuB,SAAAznC,EAAAkI,KAAA+tD,QAAArnB,SAAA1mC,KAAAumD,SAAAhnD,EAAAS,KAAA0uD,YAAAl7C,KAAAxT,KAAAT,EAAAjD,EAAApD,GAAAqG,EAAAypD,QAAuH,MAAAzpD,GAAAqwD,OAAA5vD,KAAAguD,OAAA1xD,EAAApD,IAAAqG,EAAAhJ,GAAAyJ,KAAA+tD,QAAAvJ,KAAA,eAAwE32C,KAAAtO,EAAAu/B,MAAAv/B,EAAAu/B,MAAAinB,SAAA,WAAuCxmD,GAAIA,EAAA5H,UAAAk3D,oBAAA,SAAAvyD,EAAAiD,GAA+C,GAAAtI,GAAA+I,KAAAzJ,EAAAgJ,EAAAswD,kBAAkCt5D,KAAAyJ,KAAAkuD,QAAA5xD,GAAAiiB,WAAA,WAA0CtnB,EAAAw3D,WAAAnyD,EAAA,WAAArF,EAAAi3D,QAAA5xD,OAAA,IAA8C/F,KAAKgJ,EAAA5H,UAAAm4D,2BAAA,SAAAxzD,EAAAiD,GAAsD,GAAAtI,GAAA+I,KAAAzJ,EAAAgJ,EAAAswD,kBAAkCt5D,KAAAyJ,KAAAmuD,aAAA7xD,GAAAiiB,WAAA,WAA+CtnB,EAAAg3D,OAAA8B,OAAAzzD,GAAArF,EAAAk3D,aAAA7xD,OAAA,IAA4C/F,KAAKgJ,EAAA5H,UAAA+3D,WAAA,SAAApzD,GAAoC,GAAAiD,GAAAS,KAAAguD,OAAA1xD,EAAqB,IAAAiD,IAAAA,EAAAqwD,aAAA5vD,MAAAguD,OAAA1xD,GAAA0D,KAAAkuD,QAAA5xD,KAAAoiB,aAAA1e,KAAAkuD,QAAA5xD,IAAA0D,KAAAkuD,QAAA5xD,OAAA,MAAAiD,EAAAqwD,KAAA,IAAA,GAAArwD,EAAA+uD,UAAA,CAA2I,GAAAr3D,GAAAsI,EAAAu/B,MAAA6wB,UAAAz2D,EAA2B8G,MAAAiuD,OAAAhvD,IAAAhI,EAAAsI,GAAAS,KAAA8vD,2BAAA74D,EAAAsI,OAA0DA,GAAAknD,SAAA,EAAAzmD,KAAA6mD,UAAAtnD,GAAAS,KAAA8mD,WAAAvnD,IAAuDA,EAAA5H,UAAAq4D,WAAA,WAAmC,GAAA1zD,GAAA0D,IAAW,KAAA,GAAAT,KAAAjD,GAAA0xD,OAAA1xD,EAAAozD,WAAAnwD,EAAsCS,MAAAiuD,OAAAO,SAAoBjvD,EAAA5H,UAAA0yD,QAAA,SAAA/tD,GAAiC,IAAA,GAAAiD,GAAAS,KAAA/I,KAAmBV,EAAAyJ,KAAAquD,SAAA7uD,EAAA,EAAA,EAAA1H,EAAA,EAAA,EAAA4H,GAAA,EAAA,EAAAnI,GAAA,EAAA,EAAAT,EAAAwF,EAAA,GAAAhB,KAAA1E,EAAA,EAA+DA,EAAA0F,EAAA3D,OAAW/B,IAAA,CAAK,GAAA2J,GAAAjE,EAAA1F,EAAW4I,GAAAU,KAAAgK,IAAA1K,EAAAe,EAAAuiC,QAAAhrC,EAAAoI,KAAAgK,IAAApS,EAAAyI,EAAAwiC,KAAArjC,EAAAQ,KAAAyD,IAAAjE,EAAAa,EAAAuiC,QAAAvrC,EAAA2I,KAAAyD,IAAApM,EAAAgJ,EAAAwiC,KAAsF,IAAA,GAAAtjC,GAAA,EAAYA,EAAAlJ,EAAAoC,OAAW8G,IAAA,CAAK,GAAAjJ,GAAA+I,EAAAyuD,OAAAz3D,EAAAkJ,IAAA9I,EAAA6tC,UAAA+qB,OAAAh5D,EAAAkJ,IAAA5H,GAAAw1D,sBAAA12D,EAAAH,EAAAg0D,cAAA,GAAA3nB,YAAArjC,EAAA1H,EAAAhB,IAAAu2D,sBAAA12D,EAAAH,EAAAg0D,cAAA,GAAA3nB,YAAAnjC,EAAAnI,EAAAT,IAAgL,IAAAe,EAAA,GAAA+I,EAAAuwB,QAAAt5B,EAAA,GAAA2I,EAAA2wB,QAAAt5B,EAAA,GAAA+I,GAAA,GAAA/I,EAAA,GAAA2I,GAAA,EAAA,CAAuD,IAAA,GAAAyxB,MAAA3yB,EAAA,EAAiBA,EAAAhD,EAAA3D,OAAW2G,IAAA2yB,EAAAr3B,KAAAyyD,sBAAA12D,EAAAH,EAAAg0D,cAAAluD,EAAAgD,IAA0D,IAAAqO,GAAA1W,EAAAT,EAAAsoC,MAAA5lC,QAAoB,KAAAyU,IAAAA,EAAA1W,EAAAT,EAAAsoC,MAAA5lC,KAA8B2U,KAAArX,EAAAsoC,MAAAnoC,EAAA+oC,iBAAA79B,MAAA3B,KAAA+F,IAAA,EAAA1G,EAAA6N,UAAA9R,KAAA9E,EAAAsoC,MAAAn3B,KAA6EgG,EAAA+xB,cAAA9kC,KAAAq3B,IAA2B,GAAA5xB,KAAS,KAAA,GAAAG,KAAAvJ,GAAAoJ,EAAAzF,KAAA3D,EAAAuJ,GAA4B,OAAAH,IAASd,EAAA5H,UAAAivD,cAAA,WAAsC,IAAA,GAAAtqD,GAAA0D,KAAAT,EAAAS,KAAAquD,SAAAp3D,EAAA,EAAmCA,EAAAsI,EAAA5G,OAAW1B,IAAKqF,EAAAiuD,YAAAhrD,EAAAtI,IAA0B2vD,cAAAtqD,EAAAyxD,UAA4BxuD,EAAA5H,UAAAsnD,sBAAA,WAA8C,IAAA,GAAA3iD,GAAA0D,KAAAT,EAAAS,KAAAsqD,mBAAAtvD,IAAAwpC,UAAA+qB,QAAAt4D,EAAA,EAAAV,EAAAgJ,EAAuEtI,EAAAV,EAAAoC,OAAW1B,GAAA,EAAA,CAAM,GAAAuI,GAAAjJ,EAAAU,EAAWuI,GAAA0sC,UAAA5vC,EAAA8Q,UAAAm6B,mBAAA/nC,EAAAlD,EAAAyxD,QAAArnB,SAAgE,MAAAnnC,IAASA,GAAGspC,QAAU+S,aAAAc,eAAA,GAAAd,YAAAa,gBAAA,EAAAnmD,OAAAD,QAAAulD,cACpxP9T,iBAAA,GAAAmoB,oBAAA,GAAAhJ,kBAAA,IAAAiJ,oBAAA,IAAAt/B,eAAA,IAAAu/B,WAAA,GAAAniD,SAAA,GAAAs7C,eAAA,KAAwJ8G,IAAA,SAAAtwD,QAAAxJ,OAAAD,SAC3J,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAAiwB,OAAAjwB,QAAA,kBAAA8+B,aAAA9+B,QAAA,yBAAAq+B,GAAAr+B,QAAA,eAAAs+B,SAAAt+B,QAAA,OAAAu+B,eAAAv+B,QAAA,iCAAAk+B,cAAAl+B,QAAA,gCAAAuwD,cAAAvwD,QAAA,4BAAAwwD,kBAAAxwD,QAAA,2BAAA2tD,KAAA,SAAAnxD,EAAAiD,EAAAhJ,GAAyayJ,KAAA8+B,MAAAxiC,EAAA0D,KAAA2P,IAAAmgB,KAAAygC,WAAAvwD,KAAA4vD,KAAA,EAAA5vD,KAAAu/B,SAAAhgC,EAAAS,KAAAwqD,cAAAj0D,EAAAyJ,KAAA+oD,WAAsG/oD,KAAAwwD,eAAA,KAAAxwD,KAAAywD,oBAAA,EAAAzwD,KAAAgpD,MAAA,UAA2EyE,MAAA91D,UAAA6+C,qBAAA,SAAAl6C,EAAAiD,GAAkD,GAAAhJ,GAAAgJ,EAAAS,KAAAi4C,SAAuB1hD,GAAAsrB,KAAAC,OAAA9hB,KAAAwvD,aAAAj5D,EAAAyJ,KAAAwvD,cAAAxvD,KAAAwvD,YAAAj5D,EAAA+F,EAAA6T,IAAAnQ,KAAAwvD,YAAA3tC,KAAAC,SAA4G2rC,KAAA91D,UAAA+uD,eAAA,SAAApqD,EAAAiD,GAA6CS,KAAAsuD,WAAAtuD,KAAAwmD,mBAAAxmD,KAAAgpD,MAAA,SAAA1sD,IAAAA,EAAA0iC,cAAAh/B,KAAAg/B,YAAA1iC,EAAA0iC,aAAAh/B,KAAA02B,kBAAA,GAAA45B,mBAAAh0D,EAAAo6B,mBAAA12B,KAAAm/B,cAAA,GAAAkxB,eAAA/zD,EAAA6iC,cAAAn/B,KAAA02B,mBAAA12B,KAAAqwB,aAAA,GAAAuO,cAAAtiC,EAAA+zB,aAAArwB,KAAAg/B,YAAAh/B,KAAAm/B,eAAAn/B,KAAA+oD,QAAAh5B,OAAAU,YAAAn0B,EAAAysD,QAAAxpD,EAAAnE,SAA0YqyD,KAAA91D,UAAA+4D,iBAAA,SAAAp0D,EAAAiD,GAA+C,GAAAhJ,GAAAyJ,IAAW,IAAA,aAAAA,KAAAgpD,MAAA,CAA4BhpD,KAAAm/B,cAAA,GAAAkxB,eAAA/zD,EAAA6iC,cAAAn/B,KAAA02B,mBAAA12B,KAAAqwB,aAAA6O,iBAAAl/B,KAAAm/B,cAAoI,KAAA,GAAAloC,KAAAV,GAAAwyD,QAAA,CAAwB,GAAAvpD,GAAAjJ,EAAAwyD,QAAA9xD,EAAmB,YAAAuI,EAAA+oB,OAAA,GAAAlvB,OAAAmG,EAAAqa,gBAAAtjB,GAAAwyD,QAAA9xD,IAA+D64B,KAAA1yB,OAAA4C,KAAA+oD,QAAAh5B,OAAAU,YAAAn0B,EAAAysD,QAAAxpD,MAA2DkuD,KAAA91D,UAAA6uD,iBAAA,WAA4C,GAAAlqD,GAAA0D,IAAW,KAAA,GAAAT,KAAAjD,GAAAysD,QAAAzsD,EAAAysD,QAAAxpD,GAAAsa,SAA8C7Z,MAAA+oD,WAAe/oD,KAAA02B,kBAAA,KAAA12B,KAAAm/B,cAAA,KAAAn/B,KAAAqwB,aAAA,KAAArwB,KAAAgpD,MAAA,YAAkGyE,KAAA91D,UAAAivD,cAAA,SAAAtqD,GAA0C,GAAAiD,GAAAS,IAAW,IAAA,WAAA1D,EAAAjD,MAAA,YAAAiD,EAAAjD,KAAA,MAAA,WAAA2G,KAAAgpD,WAAAhpD,KAAA2mD,cAAA,QAAA3mD,KAAAm/B,gBAAAn/B,KAAAgpD,MAAA,YAAA1sD,EAAAipD,WAAAc,KAAA,iBAAoLhtD,KAAAiD,EAAAjD,KAAAsW,IAAA3P,KAAA2P,IAAA1T,OAAAK,EAAApD,GAAA2kB,MAAAvhB,EAAAtB,IAAAoS,UAAAyQ,MAAA2nB,MAAAlpC,EAAAtB,IAAAoS,UAAAo4B,MAAA8S,mBAAAh8C,EAAAtB,IAAAs9C,oBAAyI,SAAA/hD,EAAAU,GAAesI,EAAAmxD,iBAAAz5D,EAAAqF,EAAAtB,IAAAI,OAAAkB,EAAAtB,MAAAsB,EAAAtB,IAAAu2C,QAAAzG,cAAA0Y,IAAA,MAAAjkD,EAAAypD,MAAA,SAAAzpD,EAAAonD,eAAApnD,EAAAonD,cAAA,EAAApnD,EAAAqnD,cAAAtqD,KAAwJ0D,KAAAomD,aAAkBqH,KAAA91D,UAAA8zC,UAAA,SAAAnvC,GAAsC,MAAA0D,MAAA+oD,QAAAzsD,EAAApD,KAA0Bu0D,KAAA91D,UAAA8yD,oBAAA,SAAAnuD,EAAAiD,GAAkD,GAAAhJ,GAAAyJ,IAAW,IAAAA,KAAAg/B,YAAA,CAAqBh/B,KAAAo/B,WAAAp/B,KAAAo/B,SAAA,GAAAjB,IAAAnW,WAAA,GAAAoW,UAAAp+B,KAAAg/B,cAAAzW,OAAwF,IAAAtxB,GAAA+I,KAAAo/B,SAAAooB,mBAAAxnD,KAAAo/B,SAAA7/B,EAAAoxD,YAAoE,IAAA15D,EAAA,IAAA,GAAAuI,GAAAw+B,cAAAz+B,GAAAA,EAAAwT,QAAAjb,GAA6C6P,EAAA3H,KAAA8+B,MAAAn3B,EAAA/G,EAAAZ,KAAA8+B,MAAAl+B,EAAAJ,EAAAR,KAAA8+B,MAAAt+B,GAA6Cd,EAAA,EAAKA,EAAAzI,EAAA0B,OAAW+G,IAAA,CAAK,GAAAlJ,GAAAS,EAAAkG,QAAAuC,EAAmB,IAAAF,EAAAhJ,GAAA,CAAS,GAAAe,GAAA,GAAA8mC,gBAAA7nC,EAAAD,EAAAuoC,MAAAn3B,EAAApR,EAAAuoC,MAAAl+B,EAAArK,EAAAuoC,MAAAt+B,EAA0DjJ,GAAAsW,KAAA/V,EAAAwE,EAAA1B,KAAArD,OAAsBk2D,KAAA91D,UAAA22D,QAAA,WAAmC,MAAA,WAAAtuD,KAAAgpD,OAAA,cAAAhpD,KAAAgpD,OAAA,YAAAhpD,KAAAgpD,OAA8EyE,KAAA91D,UAAA0zD,cAAA,SAAA/uD,GAA0C,GAAAiD,GAAAS,KAAAwwD,cAA0B,IAAAl0D,EAAAgvD,aAAA,CAAmB,GAAA/0D,GAAAu5B,KAAA8gC,kBAAAt0D,EAAAgvD,aAA6C/0D,GAAA,aAAAyJ,KAAAwwD,eAAA3uC,KAAAC,MAAA,IAAAvrB,EAAA,gBAAgE+F,GAAAivD,UAAAvrD,KAAAwwD,eAAA,GAAA3uC,MAAAvlB,EAAAivD,SAAAqD,UAAoE,IAAA5uD,KAAAwwD,eAAA,CAAwB,GAAAv5D,GAAA4qB,KAAAC,MAAAtiB,GAAA,CAAsB,IAAAQ,KAAAwwD,eAAAv5D,EAAAuI,GAAA,MAA8B,IAAAD,EAAA,GAAAS,KAAAwwD,eAAAjxD,EAAAC,GAAA,MAAwC,CAAK,GAAA1H,GAAAkI,KAAAwwD,eAAAjxD,CAA4BzH,GAAAkI,KAAAwwD,eAAAv5D,EAAAiJ,KAAAyD,IAAA7L,EAA71G,KAA61G0H,GAAA,MAAkEA,IAAA,CAAUA,IAAAQ,KAAAywD,sBAAAzwD,KAAAgpD,MAAA,WAAAhpD,KAAAywD,oBAAA,IAAgFhD,KAAA91D,UAAAk4D,iBAAA,WAA4C,GAAA7vD,KAAAwwD,eAAA,MAAAxwD,MAAAywD,oBAAA,KAAA,GAAAvwD,KAAAgK,IAAAlK,KAAAywD,oBAAA,EAAA,KAAAvwD,KAAAgK,IAAAlK,KAAAwwD,gBAAA,GAAA3uC,OAAA+sC,UAAA1uD,KAAA+F,IAAA,EAAA,IAAA,IAA4K3P,OAAAD,QAAAo3D,OAC3tHoD,iBAAA,GAAAC,wBAAA,GAAA7wB,+BAAA,IAAA8wB,0BAAA,IAAAC,2BAAA,IAAApgC,eAAA,IAAAwP,gCAAA,IAAArV,IAAA,GAAAI,cAAA,KAAgO8lC,IAAA,SAAAnxD,QAAAxJ,OAAAD,SACnO,YAAa,IAAAwG,cAAAiD,QAAA,yBAAA+lC,MAAA/lC,QAAA,gBAAA+lC,MAAAglB,WAAA,SAAAtrD,EAAAhI,EAAAN,GAAiH+I,KAAApD,OAAAC,aAAAgO,QAAA7K,KAAAkxD,eAAA3xD,IAAAS,KAAAymC,QAAAlvC,GAAA,EAAAyI,KAAA0mC,QAAAzvC,GAAA,GAA+F4zD,YAAAlzD,UAAAu5D,eAAA,SAAA3xD,GAAgD,MAAAwQ,OAAAuD,QAAA/T,IAAA,IAAAA,EAAA5G,QAAAuH,KAAAyD,KAAA,IAAApE,EAAA,IAAAW,KAAAyD,KAAA,GAAApE,EAAA,IAAAW,KAAAgK,IAAA,IAAA3K,EAAA,IAAAW,KAAAgK,IAAA,GAAA3K,EAAA,OAAA,KAAA,GAAA,IAAA,KAAsIsrD,WAAAlzD,UAAAwzD,SAAA,SAAA5rD,EAAAhI,GAA6C,GAAAN,GAAAM,EAAA2I,KAAAgK,IAAA3K,EAAAoI,EAAApQ,GAAAgI,EAAAoI,EAAAjI,GAA+ByxD,KAAAjxD,KAAAwN,MAAA1N,KAAA8gB,KAAA9gB,KAAApD,OAAAonC,UAAA/sC,IAAAm6D,KAAAlxD,KAAAwN,MAAA1N,KAAA+gB,KAAA/gB,KAAApD,OAAAqnC,WAAAhtC,IAAAo6D,KAAAnxD,KAAAmY,KAAArY,KAAA8gB,KAAA9gB,KAAApD,OAAAunC,UAAAltC,IAAAq6D,KAAApxD,KAAAmY,KAAArY,KAAA+gB,KAAA/gB,KAAApD,OAAAwnC,WAAAntC,IAAoQ,OAApDsI,GAAAqB,GAAAlB,EAAAyxD,MAAA5xD,EAAAqB,EAAAlB,EAAA2xD,MAAA9xD,EAAAiB,GAAAd,EAAA0xD,MAAA7xD,EAAAiB,EAAAd,EAAA4xD,MAA6DzG,WAAAlzD,UAAAmpB,KAAA,SAAAvhB,EAAAhI,GAAyC,OAAAgI,EAAA,MAAAW,KAAA+F,IAAA,EAAA1O,GAAA,MAAkCszD,WAAAlzD,UAAAopB,KAAA,SAAAxhB,EAAAhI,GAAyC,GAAAN,GAAA4uC,MAAA3lC,KAAAC,IAAAD,KAAAgG,GAAA,IAAA3G,IAAA,MAAA,OAAAG,EAAAQ,KAAA+F,IAAA,EAAA1O,IAAA,EAAA2I,KAAAgG,GAA8E,OAAAhG,MAAA+F,IAAA,EAAA1O,EAAA,GAAA,GAAA2I,KAAAkL,KAAA,EAAAnU,IAAA,EAAAA,KAAAyI,GAAmDpJ,OAAAD,QAAAw0D,aAC99B0G,wBAAA,GAAA3gC,eAAA,MAA8C4gC,IAAA,SAAA1xD,QAAAxJ,OAAAD,SACjD,YAAa,SAAAo7D,MAAAlyD,EAAAhJ,GAAmB,GAAAgJ,EAAAwjC,IAAAxsC,EAAAwsC,IAAA,CAAgB,GAAA9rC,GAAAsI,CAAQA,GAAAhJ,EAAAA,EAAAU,EAAQ,OAAOy6D,GAAAnyD,EAAAujC,OAAA6uB,GAAApyD,EAAAwjC,IAAAhJ,GAAAxjC,EAAAusC,OAAA9I,GAAAzjC,EAAAwsC,IAAA6uB,GAAAr7D,EAAAusC,OAAAvjC,EAAAujC,OAAA+uB,GAAAt7D,EAAAwsC,IAAAxjC,EAAAwjC,KAA+E,QAAA+uB,WAAAvyD,EAAAhJ,EAAAU,EAAAuI,EAAAlD,GAA8B,GAAA/E,GAAA2I,KAAAyD,IAAA1M,EAAAiJ,KAAAwN,MAAAnX,EAAAo7D,KAAApxD,EAAAL,KAAAgK,IAAA1K,EAAAU,KAAAmY,KAAA9hB,EAAAyjC,IAAiE,IAAAz6B,EAAAmyD,KAAAn7D,EAAAm7D,IAAAnyD,EAAAoyD,KAAAp7D,EAAAo7D,GAAApyD,EAAAmyD,GAAAn7D,EAAAs7D,GAAAtyD,EAAAsyD,GAAAtyD,EAAAqyD,GAAAr7D,EAAAwjC,GAAAx6B,EAAAw6B,GAAAxjC,EAAAs7D,GAAAtyD,EAAAsyD,GAAAtyD,EAAAqyD,GAAAr7D,EAAAm7D,GAAA,CAA+E,GAAA55D,GAAAyH,CAAQA,GAAAhJ,EAAAA,EAAAuB,EAAQ,IAAA,GAAA4H,GAAAH,EAAAqyD,GAAAryD,EAAAsyD,GAAA/6D,EAAAP,EAAAq7D,GAAAr7D,EAAAs7D,GAAArxD,EAAAjB,EAAAqyD,GAAA,EAAAp7D,EAAAD,EAAAq7D,GAAA,EAAAnyD,EAAAlI,EAAsDkI,EAAAc,EAAId,IAAA,CAAK,GAAAmB,GAAAlB,EAAAQ,KAAAyD,IAAA,EAAAzD,KAAAgK,IAAA3K,EAAAsyD,GAAApyD,EAAAe,EAAAjB,EAAAoyD,KAAApyD,EAAAmyD,GAAA96D,EAAAE,EAAAoJ,KAAAyD,IAAA,EAAAzD,KAAAgK,IAAA3T,EAAAs7D,GAAApyD,EAAAjJ,EAAAD,EAAAo7D,KAAAp7D,EAAAm7D,EAA8Fp1D,GAAA4D,KAAAwN,MAAA9W,GAAAsJ,KAAAmY,KAAAzX,GAAAnB,IAAiC,QAAAsyD,cAAAxyD,EAAAhJ,EAAAU,EAAAuI,EAAAlD,EAAA/E,GAAmC,GAAAgJ,GAAAzI,EAAA25D,KAAAlyD,EAAAhJ,GAAAmJ,EAAA+xD,KAAAl7D,EAAAU,GAAAH,EAAA26D,KAAAx6D,EAAAsI,EAA0CzH,GAAA+5D,GAAAnyD,EAAAmyD,KAAAtxD,EAAAzI,EAAAA,EAAA4H,EAAAA,EAAAa,GAAAzI,EAAA+5D,GAAA/6D,EAAA+6D,KAAAtxD,EAAAzI,EAAAA,EAAAhB,EAAAA,EAAAyJ,GAAAb,EAAAmyD,GAAA/6D,EAAA+6D,KAAAtxD,EAAAb,EAAAA,EAAA5I,EAAAA,EAAAyJ,GAAAzI,EAAA+5D,IAAAC,UAAAh7D,EAAAgB,EAAA0H,EAAAlD,EAAA/E,GAAAmI,EAAAmyD,IAAAC,UAAAh7D,EAAA4I,EAAAF,EAAAlD,EAAA/E,GAAiI,QAAAy6D,YAAAzyD,EAAAhJ,EAAAU,GAA2B,IAAA,GAAAuI,GAAAlD,EAAA,GAAA/E,EAAAgI,EAAmBhI,EAAA,EAAIA,IAAAiI,EAAA,GAAAjI,EAAA,EAAA+E,IAAA/F,EAAAiJ,EAAA,EAAA,IAAAvI,EAAAuI,EAAA,EAAA,EAAoC,OAAAlD,GAAS,GAAAqJ,QAAA7F,QAAA,qBAAA+iC,WAAA/iC,QAAA,qBAAA0kC,UAAA,SAAAjlC,EAAAhJ,EAAAU,EAAAuI,GAA4GiR,MAAAjR,KAAAA,EAAA,GAAAQ,KAAA2H,GAAApI,EAAAS,KAAAY,GAAArK,EAAAyJ,KAAAQ,GAAAvJ,EAAA+I,KAAAS,GAAAjB,GAAAA,GAAA,GAAA,IAAAA,GAAA,EAAAA,EAAA,EAA6E,IAAAlD,GAAA,GAAA0D,KAAA2H,CAAgB3H,MAAA9G,GAAA,IAAAoD,EAAAA,EAAAkD,EAAAlD,EAAA0D,KAAAQ,EAAAR,KAAAY,GAAAZ,KAAA2H,EAAA3H,KAAAksC,UAAA,KAA+D1H,WAAA7sC,UAAAof,SAAA,WAAwC,MAAA/W,MAAA2H,EAAA,IAAA3H,KAAAY,EAAA,IAAAZ,KAAAQ,GAAoCgkC,UAAA7sC,UAAA6vC,aAAA,SAAAjoC,GAA8C,GAAAhJ,GAAA2J,KAAAgK,IAAAlK,KAAA2H,MAAA,KAAApI,EAAAS,KAAA2H,EAAApI,GAAAtI,EAAAiJ,KAAA+F,IAAA,EAAA1P,GAAAiJ,EAAAQ,KAAAQ,EAAAlE,EAAA0D,KAAAY,EAAA3J,EAAA+I,KAAAS,CAAsF,OAAA,IAAAoiC,YAAAvmC,EAAAkD,EAAAjJ,IAA6BiuC,UAAA7sC,UAAAwuD,IAAA,SAAA5mD,EAAAhJ,EAAAU,GAAyC,GAAAuI,GAAAmG,OAAAS,YAAApG,KAAAY,EAAAZ,KAAAQ,EAAAR,KAAA2H,GAAArL,EAAA01D,WAAAhyD,KAAA2H,EAAA3H,KAAAY,EAAAZ,KAAAQ,EAAkF,OAAAjB,IAAAS,KAAAY,EAAAZ,KAAAQ,GAAAjB,EAAA5G,QAAAgsB,QAAA,YAAoD3kB,KAAAY,EAAA,IAAAmW,SAAA,KAAA/W,KAAAQ,EAAA,IAAAuW,SAAA,KAAA4N,QAAA,MAAiEzkB,KAAAgK,IAAAlK,KAAA2H,EAAApR,GAAAyJ,KAAA2H,IAAAgd,QAAA,MAA0C3kB,KAAAY,GAAA+jB,QAAA,MAAsB,QAAA1tB,EAAAiJ,KAAA+F,IAAA,EAAAjG,KAAA2H,GAAA3H,KAAAQ,EAAA,EAAAR,KAAAQ,GAAAmkB,QAAA,YAAkEroB,GAAAqoB,QAAA,mBAA8BnlB,IAAKglC,UAAA7sC,UAAAq3D,OAAA,SAAAzvD,GAAwC,MAAA,KAAAS,KAAA2H,EAAA,KAAA3H,KAAA2H,EAAApI,EAAA,GAAAilC,WAAAxkC,KAAA2H,EAAA,EAAA3H,KAAAY,EAAAZ,KAAAQ,EAAAR,KAAAS,GAAA,GAAA+jC,WAAAxkC,KAAA2H,EAAA,EAAAzH,KAAAwN,MAAA1N,KAAAY,EAAA,GAAAV,KAAAwN,MAAA1N,KAAAQ,EAAA,GAAAR,KAAAS,IAAsJ+jC,UAAA7sC,UAAAg4D,QAAA,WAAwC,MAAA,IAAAnrB,WAAAxkC,KAAA2H,EAAA3H,KAAAY,EAAAZ,KAAAQ,EAAA,IAA6CgkC,UAAA7sC,UAAAs6D,SAAA,SAAA1yD,GAA0C,GAAAS,KAAA2H,GAAApI,EAAA,OAAA,GAAAilC,WAAAxkC,KAAA2H,EAAA,EAAA3H,KAAAY,EAAAZ,KAAAQ,EAAAR,KAAAS,GAAkE,IAAAlK,GAAAyJ,KAAA2H,EAAA,EAAA1Q,EAAA,EAAA+I,KAAAY,EAAApB,EAAA,EAAAQ,KAAAQ,CAAqC,QAAA,GAAAgkC,WAAAjuC,EAAAU,EAAAuI,EAAAQ,KAAAS,GAAA,GAAA+jC,WAAAjuC,EAAAU,EAAA,EAAAuI,EAAAQ,KAAAS,GAAA,GAAA+jC,WAAAjuC,EAAAU,EAAAuI,EAAA,EAAAQ,KAAAS,GAAA,GAAA+jC,WAAAjuC,EAAAU,EAAA,EAAAuI,EAAA,EAAAQ,KAAAS,KAAgI+jC,UAAAmC,MAAA,SAAApnC,EAAAhJ,EAAAU,EAAAuI,GAAmC,QAAAlD,GAAAiD,EAAAhJ,EAAA+F,GAAkB,GAAAxE,GAAA4H,EAAA5I,EAAA0J,CAAY,IAAAlE,GAAA,GAAAA,GAAA/E,EAAA,IAAAO,EAAAyH,EAAsBzH,EAAAvB,EAAIuB,IAAA4H,EAAAQ,KAAAwN,MAAA5V,EAAAP,GAAAT,GAAAgB,EAAAP,EAAAA,GAAAA,EAAA,IAAAmI,IAAA,IAAAF,IAAAgB,EAAA,GAAAgkC,WAAAvtC,EAAAH,EAAAwF,EAAAoD,GAAAa,EAAAC,EAAAtH,IAAAsH,OAAsF,KAAAhB,IAAAA,GAAA,EAAmB,IAAAjI,GAAA,GAAAgI,EAAAgB,IAAgB,OAAAwxD,cAAAx7D,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAA,EAAAgB,EAAA+E,GAAAy1D,aAAAx7D,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAA,EAAAgB,EAAA+E,GAAApF,OAAAqY,KAAAhP,GAAAvF,IAAA,SAAAuE,GAA4G,MAAAgB,GAAAhB,MAAcilC,UAAA+qB,OAAA,SAAAhwD,GAA8B,GAAAhJ,GAAAgJ,EAAA,GAAAtI,EAAA,GAAAV,EAAAiJ,GAAAD,EAAAhJ,GAAA,GAAA+F,EAAAkD,EAAAvI,EAAAM,GAAAiI,EAAAlD,GAAArF,EAAAA,EAAAsJ,EAAAL,KAAAwN,MAAAlO,GAAAvI,EAAAA,GAAqE,OAAAsJ,GAAA,GAAA,IAAAA,GAAA,EAAAA,EAAA,GAAAA,GAAA,EAAA,GAAAikC,WAAAjuC,EAAA+F,EAAA/E,EAAAgJ,IAAuDjK,OAAAD,QAAAmuC,YACltFyrB,oBAAA,GAAAiC,oBAAA,IAA6CC,IAAA,SAAAryD,QAAAxJ,OAAAD,SAChD,YAAa,IAAAwyC,SAAA/oC,QAAA,mBAAAgwB,KAAAhwB,QAAA,gBAAA6qD,aAAA7qD,QAAA,mBAAA0pD,aAAA1pD,QAAA,kBAAA8qD,iBAAAC,WAAA/qD,QAAA,iBAAAsyD,iBAAA,SAAA91D,GAAqO,QAAAiD,GAAAA,EAAAhJ,EAAAU,EAAAuI,GAAoB,GAAAlD,EAAA5F,KAAAsJ,MAAAA,KAAA9G,GAAAqG,EAAAS,KAAAulD,WAAAtuD,EAAA+I,KAAA3G,KAAA,SAAA2G,KAAAymC,QAAA,EAAAzmC,KAAA0mC,QAAA,GAAA1mC,KAAA+qD,OAAA,MAAA/qD,KAAAu/B,SAAA,IAAAv/B,KAAA4mC,mBAAA,EAAA5mC,KAAAq/C,eAAA,EAAAvvB,KAAA1yB,OAAA4C,KAAA8vB,KAAA45B,KAAAnzD,GAAA,MAAA,SAAA,cAAAyJ,KAAAqyD,SAAAviC,KAAA1yB,QAAwQ/D,KAAA,UAAc9C,GAAA,MAAAyJ,KAAAu/B,SAAA,KAAA,IAAA5/B,OAAA,kDAA2FK,MAAAwlD,iBAAAhmD,GAAyB,MAAAlD,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,EAAA5H,UAAAiqB,KAAA,WAA0H,GAAAtlB,GAAA0D,IAAWA,MAAAwkD,KAAA,eAAyBuB,SAAA,WAAkB4E,aAAA3qD,KAAAqyD,SAAA,SAAA9yD,EAAAhJ,GAA2C,MAAAgJ,OAAAjD,GAAAkoD,KAAA,QAAAjlD,IAAAuwB,KAAA1yB,OAAAd,EAAA/F,GAAA+F,EAAA0uD,UAAAz0D,EAAAqG,QAAAN,EAAAkoD,KAAA,QAAuFuB,SAAA,SAAAE,eAAA,iBAA4C3pD,GAAAkoD,KAAA,QAAsBuB,SAAA,SAAAE,eAAA,gBAAgD1mD,EAAA5H,UAAAqzD,UAAA,SAAA1uD,GAAmC0D,KAAApD,OAAAN,EAAAA,IAAA0D,KAAAirD,WAAA,GAAAJ,YAAAvuD,EAAA0D,KAAAymC,QAAAzmC,KAAA0mC,WAA+EnnC,EAAA5H,UAAAuzD,QAAA,SAAA5uD,GAAiC,OAAA0D,KAAAirD,YAAAjrD,KAAAirD,WAAAE,SAAA7uD,EAAA0D,KAAA0mC,UAAiEnnC,EAAA5H,UAAAotD,MAAA,SAAAzoD,GAA+B0D,KAAA4hB,OAAA5hB,KAAAhF,IAAAsB,GAAuBiD,EAAA5H,UAAA81B,UAAA,WAAkC,MAAAqC,MAAA1yB,UAAqB4C,KAAAqyD,WAAgB9yD,EAAA5H,UAAA4uD,SAAA,SAAAjqD,EAAAiD,GAAoC,QAAAhJ,GAAAA,EAAAU,GAAgB,IAAAqF,EAAAmqD,QAAA,CAAe,GAAAlwD,EAAA,MAAAgJ,GAAAhJ,EAAiByJ,MAAAhF,IAAAowD,sBAAA9uD,EAAA+uD,cAAAp0D,GAAAqF,EAAAoqD,eAAAzvD,EAAA+I,KAAAhF,IAAAu2C,SAAAj1C,EAAAqqD,eAAArqD,EAAAqqD,cAAA,EAAArqD,EAAAsqD,cAAA5mD,OAAAT,EAAA,MAAAjD,EAAAg2D,iBAAAtyD,KAAAumD,SAAAjqD,EAAAA,EAAAg2D,gBAAAh2D,EAAAg2D,eAAA,OAAsO,GAAAr7D,GAAAqF,EAAAwiC,MAAAn3B,EAAA3H,KAAA0mC,QAAAxmC,KAAA+F,IAAA,EAAA3J,EAAAwiC,MAAAn3B,EAAA3H,KAAA0mC,SAAA,EAAAlnC,GAAqE2mD,IAAAqD,aAAAltD,EAAAwiC,MAAAqnB,IAAAnmD,KAAAmM,MAAAnM,KAAA0mC,QAAA1mC,KAAA+qD,QAAA/qD,KAAAmmD,KAAAx2C,IAAArT,EAAAqT,IAAAmvB,MAAAxiC,EAAAwiC,MAAAxjC,KAAAgB,EAAAwiC,MAAAn3B,EAAA43B,SAAAv/B,KAAAu/B,SAAAtoC,EAAAoC,KAAA2G,KAAA3G,KAAA4C,OAAA+D,KAAA9G,GAAA82B,YAAA/4B,EAAA4mB,MAAA7d,KAAAhF,IAAAoS,UAAAyQ,MAAA2nB,MAAAxlC,KAAAhF,IAAAoS,UAAAo4B,MAAA8S,mBAAAt4C,KAAAhF,IAAAs9C,mBAAsSh8C,GAAA8pD,UAAA,YAAA9pD,EAAA0sD,MAAA,YAAA1sD,EAAA0sD,MAAA1sD,EAAAg2D,eAAA/yD,EAAAS,KAAAulD,WAAAc,KAAA,aAAA7mD,EAAAjJ,EAAAid,KAAAxT,MAAA1D,EAAA8pD,UAAA9pD,EAAA8pD,SAAApmD,KAAAulD,WAAAc,KAAA,WAAA7mD,EAAAjJ,EAAAid,KAAAxT,QAA+LT,EAAA5H,UAAAkvD,UAAA,SAAAvqD,GAAmC0D,KAAAulD,WAAAc,KAAA,aAAkC12C,IAAArT,EAAAqT,IAAAtW,KAAA2G,KAAA3G,KAAA4C,OAAA+D,KAAA9G,IAAwC,KAAAoD,EAAA8pD,WAAkB7mD,EAAA5H,UAAAmvD,WAAA,SAAAxqD,GAAoCA,EAAAkqD,mBAAAxmD,KAAAulD,WAAAc,KAAA,cAAwD12C,IAAArT,EAAAqT,IAAAtW,KAAA2G,KAAA3G,KAAA4C,OAAA+D,KAAA9G,IAAwC,KAAAoD,EAAA8pD,WAAkB7mD,GAAGspC,QAAUvyC,QAAAD,QAAA+7D,mBACxgFnL,kBAAA,IAAA8C,iBAAA,IAAAn5B,eAAA,IAAAi7B,kBAAA,GAAAC,gBAAA,KAAsGyG,IAAA,SAAAzyD,QAAAxJ,OAAAD,SACzG,YAAa,IAAA8wD,MAAArnD,QAAA,gBAAAq+B,GAAAr+B,QAAA,eAAAs+B,SAAAt+B,QAAA,OAAA0yD,WAAA1yD,QAAA,iBAAAgwB,KAAAhwB,QAAA,gBAAA2yD,uBAAA,SAAAn2D,EAAAkD,EAAAD,GAA2LS,KAAA0yD,MAAAp2D,EAAA0D,KAAA2yD,WAAAnzD,EAAAD,IAAAS,KAAA0mD,eAAAnnD,GAAAS,KAAA4yD,WAAyE5yD,KAAAw4C,UAAiBia,wBAAA96D,UAAA4uD,SAAA,SAAAjqD,EAAAkD,GAAwD,QAAAD,GAAAjD,EAAAiD,GAAgB,aAAAS,MAAA4yD,QAAA37D,GAAAV,GAAA+F,EAAAkD,EAAAlD,GAAAiD,GAAAG,EAAAmzD,WAAAtzD,EAAAG,EAAAooD,MAAAvoD,EAAAS,KAAA2yD,WAAA3yD,KAAA0yD,MAAA,SAAAp2D,EAAArF,EAAAV,GAA+G,GAAA+F,EAAA,MAAAkD,GAAAlD,EAAiB,IAAAoD,KAASH,GAAAgsD,UAAA7rD,EAAA6rD,QAAAhsD,EAAAgsD,SAAAhsD,EAAA+rD,eAAA5rD,EAAA4rD,aAAA/rD,EAAA+rD,cAAA9rD,EAAA,KAAAswB,KAAA1yB,QAAqG4hC,YAAAz/B,EAAAmoD,SAAsBzwD,EAAAyI,GAAAnJ,KAASyJ,KAAAw4C,OAAAvhD,GAAA+I,KAAAw4C,OAAAvhD,YAAmC+I,KAAAw4C,OAAAvhD,GAAAV,GAAAmJ,IAAAF,EAAA,KAAA,MAAyC,GAAAvI,GAAAqF,EAAAL,OAAA1F,EAAA+F,EAAAqT,GAAuB3P,MAAA4yD,QAAA37D,KAAA+I,KAAA4yD,QAAA37D,MAAsC,IAAAyI,GAAAM,KAAA4yD,QAAA37D,GAAAV,GAAA,GAAAi8D,YAAAl2D,EAA2CoD,GAAAksD,MAAA5rD,KAAA0mD,eAAApqD,EAAAiD,EAAAiU,KAAAxT,QAA4CyyD,uBAAA96D,UAAA82D,WAAA,SAAAnyD,EAAAkD,GAA2D,QAAAD,GAAAjD,EAAAiD,GAAgB,GAAAS,KAAAsyD,eAAA,CAAwB,GAAAr7D,GAAA+I,KAAAsyD,qBAA0BtyD,MAAAsyD,eAAAtyD,KAAA8nD,MAAA9nD,KAAA6yD,WAAAnzD,EAAAizD,WAAAjzD,EAAAgzD,MAAAz7D,GAA8EuI,EAAAlD,EAAAiD,GAAO,GAAAtI,GAAA+I,KAAAw4C,OAAAl8C,EAAAL,QAAA1F,EAAA+F,EAAAqT,IAAAjQ,EAAAM,IAA2C,IAAA/I,GAAAA,EAAAV,GAAA,CAAY,GAAAC,GAAAS,EAAAV,EAAW,aAAAC,EAAAm4D,OAAAn4D,EAAA87D,eAAA9yD,EAAA,SAAAhJ,EAAAm4D,QAAAn4D,EAAAsxD,MAAAtxD,EAAAq8D,WAAA7yD,KAAA2yD,WAAA3yD,KAAA0yD,MAAAnzD,EAAAiU,KAAAhd,MAAuHi8D,uBAAA96D,UAAAkvD,UAAA,SAAAvqD,GAAwD,GAAAkD,GAAAQ,KAAA4yD,QAAAt2D,EAAAL,QAAAsD,EAAAjD,EAAAqT,GAAqCnQ,IAAAA,EAAAD,IAAAC,EAAAD,GAAAqsD,QAAApsD,EAAAD,GAAAqsD,cAAApsD,GAAAD,KAAgDkzD,uBAAA96D,UAAA+3D,WAAA,SAAApzD,GAAyD,GAAAkD,GAAAQ,KAAAw4C,OAAAl8C,EAAAL,QAAAsD,EAAAjD,EAAAqT,GAAoCnQ,IAAAA,EAAAD,UAAAC,GAAAD,IAAqBkzD,uBAAA96D,UAAA+uD,eAAA,SAAApqD,EAAAkD,GAA+D,QAAAD,GAAAjD,EAAAiD,GAAgB,GAAAjD,EAAA,MAAAkD,GAAAlD,EAAiB,IAAArF,GAAA,GAAAknC,IAAAnW,WAAA,GAAAoW,UAAA7+B,EAAApG,MAA8ClC,GAAAywD,QAAAnoD,EAAApG,KAAAlC,EAAAq0D,aAAA/rD,EAAA+rD,aAAAr0D,EAAAs0D,QAAAhsD,EAAAgsD,QAAA/rD,EAAAlD,EAAArF,GAA0E,GAAAA,GAAAkwD,KAAAkF,eAAA/vD,EAAA6pD,IAAA5mD,EAAAiU,KAAAxT,MAA8C,OAAA,YAAkB/I,EAAA20D,UAAW6G,uBAAA96D,UAAAivD,cAAA,SAAAtqD,EAAAkD,GAA8D,GAAAD,GAAAS,KAAAw4C,OAAAl8C,EAAAL,QAAAhF,EAAA+I,KAAA4yD,QAAAt2D,EAAAL,QAAA1F,EAAA+F,EAAAqT,GAA6D,IAAApQ,GAAAA,EAAAhJ,GAAA,CAAY,GAAAC,GAAA+I,EAAAhJ,GAAAqwD,cAAAtqD,EAAAuhB,MAAAvhB,EAAAkpC,MAAAlpC,EAAAg8C,mBAAmE9hD,GAAAs8D,QAAAtzD,EAAA,KAAAhJ,EAAAs8D,OAAAt8D,EAAAu8D,mBAA2C97D,IAAAA,EAAAV,KAAAU,EAAAV,GAAAsnB,MAAAvhB,EAAAuhB,QAAmCvnB,OAAAD,QAAAo8D,yBACzhEzK,eAAA,IAAAp3B,eAAA,IAAAoiC,gBAAA,IAAAjoC,IAAA,GAAAI,cAAA,KAAoF8nC,IAAA,SAAAnzD,QAAAxJ,OAAAD,SACvF,YAAa,IAAA8wD,MAAArnD,QAAA,gBAAAozD,YAAA,SAAA3zD,GAA+F,QAAAjD,GAAAA,EAAArF,EAAAV,EAAAiJ,GAAoBD,EAAA7I,KAAAsJ,KAAA1D,EAAArF,EAAAV,EAAAiJ,GAAAQ,KAAAomC,WAAA,EAAApmC,KAAA3G,KAAA,QAAA2G,KAAA4L,QAAA3U,EAAwE,MAAAsI,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAAiqB,KAAA,WAA0H,GAAAriB,GAAAS,KAAA1D,EAAA0D,KAAA4L,OAA0B5L,MAAAopD,KAAA9sD,EAAA8sD,KAAAjC,KAAAgM,SAAA72D,EAAA8sD,KAAA,SAAA9sD,EAAArF,GAAoD,GAAAqF,EAAA,MAAAiD,GAAAilD,KAAA,SAA4Bt+B,MAAA5pB,GAAUiD,GAAAmtD,MAAAz1D,EAAAsI,EAAAmtD,MAAA0G,MAAA,CAA0B,IAAA78D,EAAMgJ,GAAAmtD,MAAA/tD,iBAAA,UAAA,WAA8CpI,EAAAgJ,EAAAvE,IAAAI,MAAAq7C,cAAAtmC,IAAA,EAAA,GAAA5Q,EAAAvE,IAAA0pD,cAAuDnlD,EAAAmtD,MAAA/tD,iBAAA,QAAA,WAA8CY,EAAAvE,IAAAI,MAAAq7C,cAAAmO,OAAAruD,KAAoCgJ,EAAAvE,KAAAuE,EAAAmtD,MAAAjI,OAAAllD,EAAAslD,oBAA6CvoD,EAAA3E,UAAAw7D,SAAA,WAAiC,MAAAnzD,MAAA0sD,OAAkBpwD,EAAA3E,UAAAotD,MAAA,SAAAxlD,GAA+BS,KAAAhF,MAAAgF,KAAA4hB,OAAA5hB,KAAAhF,IAAAuE,EAAAS,KAAA0sD,QAAA1sD,KAAA0sD,MAAAjI,OAAAzkD,KAAA0oD,eAAA1oD,KAAAxG,gBAAyG8C,EAAA3E,UAAAy/B,QAAA,YAAgCp3B,KAAA6N,MAAA7N,KAAA0sD,MAAA2G,WAAA,GAAArzD,KAAAglD,cAAAhlD,KAAAhF,IAAAu2C,QAAArV,GAAAl8B,KAAA0sD,QAAwFpwD,EAAA3E,UAAA81B,UAAA,WAAkC,OAAOp0B,KAAA,QAAA+vD,KAAAppD,KAAAopD,KAAA5vD,YAAAwG,KAAAxG,cAA0D8C,GAAnkCwD,QAAA,kBAAolCxJ,QAAAD,QAAA68D,cAC9lClL,eAAA,IAAA9C,iBAAA,KAAuCoO,KAAA,SAAAxzD,QAAAxJ,OAAAD,SAC1C,YAAa,IAAAk9D,OAAAzzD,QAAA,iBAAA0zD,gBAAA1zD,QAAA,8BAAA2yD,uBAAA3yD,QAAA,+BAAAunD,oBAAAvnD,QAAA,2BAAA2zD,oBAAA3zD,QAAA,qBAAAktB,OAAA,SAAA1wB,GAAkR,GAAAkD,GAAAQ,IAAWA,MAAAwc,KAAAlgB,EAAA0D,KAAA0yD,MAAA,GAAAa,OAAAj3D,EAAA0D,MAAAA,KAAA0zD,gBAA6D1zD,KAAA2zD,mBAAyBnH,OAAAiG,uBAAAhG,QAAApF,qBAA0DrnD,KAAA4zD,iBAAsB5zD,KAAAwc,KAAAq3C,qBAAA,SAAAv3D,EAAArF,GAA8C,GAAAuI,EAAAm0D,kBAAAr3D,GAAA,KAAA,IAAAqD,OAAA,4BAAArD,EAAA,wBAAiGkD,GAAAm0D,kBAAAr3D,GAAArF,GAAyB+I,KAAAwc,KAAAs3C,sBAAA,SAAAx3D,GAA6C,GAAAm3D,oBAAAM,oBAAAN,oBAAAO,yBAAA,KAAA,IAAAr0D,OAAA,sCAA+I8zD,qBAAAM,mBAAAz3D,EAAAy3D,mBAAAN,oBAAAO,yBAAA13D,EAAA03D,0BAAsIhnC,QAAAr1B,UAAAs8D,UAAA,SAAA33D,EAAAkD,GAAyCQ,KAAAk0D,cAAA53D,GAAAqoB,QAAAnlB,IAAiCwtB,OAAAr1B,UAAAw8D,aAAA,SAAA73D,EAAAkD,GAA6CQ,KAAAk0D,cAAA53D,GAAAuxD,OAAAruD,EAAA+oB,OAAA/oB,EAAA40D,WAAA50D,EAAA60D,cAAkErnC,OAAAr1B,UAAA4uD,SAAA,SAAAjqD,EAAAkD,EAAAvI,GAA2C+I,KAAAs0D,gBAAAh4D,EAAAkD,EAAAnG,MAAAktD,SAAA/mD,EAAAvI,IAA6C+1B,OAAAr1B,UAAA82D,WAAA,SAAAnyD,EAAAkD,EAAAvI,GAA6C+I,KAAAs0D,gBAAAh4D,EAAAkD,EAAAnG,MAAAo1D,WAAAjvD,EAAAvI,IAA+C+1B,OAAAr1B,UAAAkvD,UAAA,SAAAvqD,EAAAkD,GAA0CQ,KAAAs0D,gBAAAh4D,EAAAkD,EAAAnG,MAAAwtD,UAAArnD,IAA4CwtB,OAAAr1B,UAAA+3D,WAAA,SAAApzD,EAAAkD,GAA2CQ,KAAAs0D,gBAAAh4D,EAAAkD,EAAAnG,MAAAq2D,WAAAlwD,IAA6CwtB,OAAAr1B,UAAAowD,aAAA,SAAAzrD,EAAAkD,GAA6C,GAAAvI,GAAA+I,KAAAs0D,gBAAAh4D,EAAAkD,EAAAnG,UAAqC,KAAApC,EAAA8wD,cAAA9wD,EAAA8wD,aAAAvoD,IAA2CwtB,OAAAr1B,UAAAivD,cAAA,SAAAtqD,EAAAkD,EAAAvI,GAAgD+I,KAAAs0D,gBAAAh4D,EAAAkD,EAAAnG,MAAAutD,cAAApnD,EAAAvI,IAAkD+1B,OAAAr1B,UAAA48D,iBAAA,SAAAj4D,EAAAkD,EAAAvI,GAAmD,IAAI+I,KAAAwc,KAAAg4C,cAAAh1D,EAAA2mD,KAAAlvD,IAAmC,MAAAqF,GAASrF,EAAAqF,KAAM0wB,OAAAr1B,UAAA88D,kBAAA,SAAAn4D,EAAAkD,EAAAvI,GAAoD,IAAIw8D,oBAAAM,oBAAAN,oBAAAO,0BAAAh0D,KAAAwc,KAAAg4C,cAAAh1D,GAAiH,MAAAlD,GAASrF,EAAAqF,KAAM0wB,OAAAr1B,UAAAu8D,cAAA,SAAA53D,GAA4C,GAAAkD,GAAAQ,KAAA0zD,aAAAp3D,EAA2B,OAAAkD,KAAAA,EAAAQ,KAAA0zD,aAAAp3D,GAAA,GAAAk3D,kBAAAh0D,GAAyDwtB,OAAAr1B,UAAA28D,gBAAA,SAAAh4D,EAAAkD,GAAgD,GAAAvI,GAAA+I,IAAW,IAAAA,KAAA4zD,cAAAt3D,KAAA0D,KAAA4zD,cAAAt3D,QAAmD0D,KAAA4zD,cAAAt3D,GAAAkD,GAAA,CAA6B,GAAAD,IAAO8mD,KAAA,SAAA7mD,EAAAD,EAAAhJ,EAAAgB,GAAuBN,EAAAy7D,MAAArM,KAAA7mD,EAAAD,EAAAhJ,EAAAgB,EAAA+E,IAA0B0D,MAAA4zD,cAAAt3D,GAAAkD,GAAA,GAAAQ,MAAA2zD,kBAAAn0D,GAAAD,EAAAS,KAAAk0D,cAAA53D,IAAgF,MAAA0D,MAAA4zD,cAAAt3D,GAAAkD,IAAgClJ,OAAAD,QAAA,SAAAiG,GAA4B,MAAA,IAAA0wB,QAAA1wB,MACj6Eo4D,6BAAA,IAAAC,gBAAA,IAAAC,0BAAA,GAAAC,oBAAA,GAAA3M,8BAAA,KAA0I4M,KAAA,SAAAh1D,QAAAxJ,OAAAD,SAC7I,YAAa,SAAA0+D,mBAAAz4D,EAAA/F,GAAgC,IAAA,GAAAiJ,GAAA,EAAAvI,EAAAqF,EAAAisB,OAAuB/oB,EAAAvI,EAAA0B,OAAW6G,GAAA,EAAMvI,EAAAuI,GAAWw1D,YAAAz+D,GAAkB,QAAA0+D,kBAAA34D,EAAA/F,GAA+B,MAAA+F,GAAAyW,OAAA,SAAAzW,GAA4B,OAAAA,EAAAkzB,YAAmBx0B,IAAA,SAAAsB,GAAkB,MAAAA,GAAAmxB,UAAAl3B,KAAwB,GAAAqoC,cAAA9+B,QAAA,yBAAAuwD,cAAAvwD,QAAA,4BAAAwwD,kBAAAxwD,QAAA,2BAAAo+B,gBAAAp+B,QAAA,4BAAAgwB,KAAAhwB,QAAA,gBAAA0yD,WAAA,SAAAl2D,GAAiQ0D,KAAA8+B,MAAAxiC,EAAAwiC,MAAA9+B,KAAA2P,IAAArT,EAAAqT,IAAA3P,KAAA1E,KAAAgB,EAAAhB,KAAA0E,KAAAu/B,SAAAjjC,EAAAijC,SAAAv/B,KAAA/D,OAAAK,EAAAL,OAAA+D,KAAAgwB,YAAA1zB,EAAA0zB,YAAAhwB,KAAA6d,MAAAvhB,EAAAuhB,MAAA7d,KAAAwlC,MAAAlpC,EAAAkpC,MAAAxlC,KAAAs4C,mBAAAh8C,EAAAg8C,mBAAoNka,YAAA76D,UAAAmwD,MAAA,SAAAxrD,EAAA/F,EAAAiJ,EAAAvI,GAA6C,GAAAsI,GAAAS,IAAW1D,GAAAisB,SAAAjsB,GAAcisB,QAAQi/B,kBAAAlrD,KAAqB0D,KAAA2uD,OAAA,UAAA3uD,KAAA7G,KAAAmD,EAAA0D,KAAA02B,kBAAA,GAAA45B,kBAAiF,IAAAx4D,GAAA,GAAAomC,iBAAAhnC,OAAAqY,KAAAjT,EAAAisB,QAAArgB,QAAA1R,EAAA,GAAAooC,cAAA5+B,KAAA8+B,MAAA9+B,KAAAgwB,YAAwGx5B,GAAAyoC,iBAAoB,IAAA1nC,MAAQmI,EAAA,EAAA9I,GAAQy5B,aAAA75B,EAAAwgC,oBAAkCC,sBAAsBx3B,EAAAlJ,EAAA2+D,iBAAAl1D,KAAA/D,OAAmC,KAAA,GAAAsE,KAAAd,GAAA,CAAgB,GAAAe,GAAAlE,EAAAisB,OAAAhoB,EAAkB,IAAAC,EAAA,CAAM,IAAAA,EAAAsF,SAAAgqB,KAAA8H,SAAA,uBAAAr4B,EAAAtD,OAAA,YAAAsE,EAAA,mFAA+J,KAAA,GAAAzJ,GAAAgB,EAAAq9D,OAAA50D,GAAA1I,KAAAlB,EAAA,EAA+BA,EAAA6J,EAAA7H,OAAWhC,IAAA,CAAK,GAAA0J,GAAAG,EAAArD,QAAAxG,EAAmB0J,GAAA4vB,MAAAt5B,EAAA0J,EAAA62B,iBAAApgC,EAAAe,EAAA+C,KAAAyF,GAAyC,IAAA,GAAAf,GAAA,EAAAwB,EAAArB,EAAAc,GAAmBjB,EAAAwB,EAAAnI,OAAW2G,GAAA,EAAA,CAAM,GAAAsB,GAAAE,EAAAxB,GAAAu0B,EAAAjzB,EAAA,EAAkB,MAAAizB,EAAA4S,SAAAlnC,EAAAjE,KAAAu4B,EAAA4S,SAAA5S,EAAA6S,SAAAnnC,EAAAjE,MAAAu4B,EAAA6S,SAAA7S,EAAA33B,QAAA,SAAA23B,EAAA33B,OAAAk5D,YAAA,CAAyG,IAAA,GAAAv0D,GAAA,EAAAM,EAAAP,EAAgBC,EAAAM,EAAAxI,OAAWkI,GAAA,EAAMM,EAAAN,GAAWm0D,YAAAz1D,EAAAjE,OAAsB/D,EAAAs8B,EAAA36B,IAAA26B,EAAAlD,cAA8BV,MAAAvwB,EAAA6oB,OAAA3nB,EAAAtF,KAAAiE,EAAAjE,KAAA00B,YAAAzwB,EAAAywB,YAAA0G,kBAAAn3B,EAAAm3B,qBAA+FtG,SAAAv4B,EAAAjB,GAAAJ,EAAAyoC,eAAAv/B,GAAAkB,EAAA5F,IAAA,SAAAsB,GAAsD,MAAAA,GAAApD,KAAYwG,OAAS,GAAAiO,GAAA,SAAArR,GAAkBiD,EAAAovD,OAAA,OAAAn4D,EAAAs4B,0BAA6C,KAAA,GAAAv4B,KAAAgB,GAAAu4B,KAAA1yB,OAAA5G,EAAAs4B,wBAAAv3B,EAAAhB,GAAA+5B,6BAAwF,IAAA9wB,KAASvI,GAAA,MAAQ8xD,QAAAkM,iBAAAnlC,KAAA5F,OAAA3yB,GAAAiI,GAAA6wB,aAAA75B,EAAAi3B,UAAAjuB,GAAA2/B,cAAA7iC,EAAAmxB,UAAAjuB,GAAAk3B,kBAAAn3B,EAAAm3B,kBAAAjJ,aAAsJjuB,GAAKQ,MAAAq1D,gBAAsB,KAAA,GAAA50D,GAAAlK,EAAA89D,YAAA17D,OAAA,EAAiC8H,GAAA,EAAKA,IAAA,CAAK,GAAAC,GAAAnJ,EAAAhB,EAAA89D,YAAA5zD,GAA0BC,IAAAnB,EAAA81D,cAAAz6D,KAAA8F,GAA2B,GAAA,IAAAV,KAAAq1D,cAAA18D,OAAA,MAAAgV,GAAA,GAAA0iD,eAAArwD,KAAA6d,MAAA7d,KAAAwlC,MAAAxlC,KAAA02B,mBAA2G,IAAAxkB,GAAA,EAAAyhB,EAAAz8B,OAAAqY,KAAA3Y,EAAAogC,kBAAAhD,EAAAlE,KAAAS,UAAA35B,EAAAqgC,kBAAA,SAAA36B,GAA2F,MAAApF,QAAAqY,KAAAjT,GAAAtB,IAAA6qB,UAAkCyN,EAAA,SAAAh3B,GAAgB,GAAAA,EAAA,MAAArF,GAAAqF,EAAiB,IAAA,MAAA4V,EAAA,CAAc,IAAA,GAAA3b,GAAA,GAAA85D,eAAA9wD,EAAAse,MAAAte,EAAAimC,MAAAjmC,EAAAm3B,mBAAAl3B,EAAA,EAAA1H,EAAAyH,EAAA81D,cAAuF71D,EAAA1H,EAAAa,OAAW6G,GAAA,EAAA,CAAM,GAAAhJ,GAAAsB,EAAA0H,EAAWu1D,mBAAAv+D,EAAA+I,EAAAjE,MAAA9E,EAAA4gC,QAAApD,EAAAL,GAAAn9B,EAAA8D,MAAA/D,EAAAgJ,EAAA+4C,oBAA2E3qC,EAAApX,IAAOW,QAAAqY,KAAAykB,GAAAr7B,OAAA6G,EAAA6mD,KAAA,aAA0C12C,IAAA3P,KAAA2P,IAAA2lD,OAAAthC,GAAsB,SAAA13B,EAAA/F,GAAey9B,EAAAz9B,EAAA+8B,EAAAh3B,KAASg3B,IAAAK,EAAAh7B,OAAA6G,EAAA6mD,KAAA,YAAkCkP,MAAA5hC,GAAQ,SAAAr3B,EAAA/F,GAAeo9B,EAAAp9B,EAAA+8B,EAAAh3B,KAASg3B,KAAMk/B,WAAA76D,UAAAivD,cAAA,SAAAtqD,EAAA/F,EAAAiJ,GAAoD,GAAAvI,GAAA+I,IAAW,IAAAA,KAAA6d,MAAAvhB,EAAA0D,KAAAwlC,MAAAjvC,EAAA,SAAAyJ,KAAA2uD,OAAA,QAA2D,KAAA,GAAApvD,GAAA,GAAA8wD,eAAArwD,KAAA6d,MAAA7d,KAAAwlC,MAAAxlC,KAAA02B,mBAAA5+B,EAAA,EAAAtB,EAAAS,EAAAo+D,cAAgGv9D,EAAAtB,EAAAmC,OAAWb,GAAA,EAAA,CAAM,GAAAP,GAAAf,EAAAsB,EAAWi9D,mBAAAx9D,EAAAN,EAAAqE,MAAA/D,EAAA+C,MAAAiF,EAAAC,GAAyC,GAAAE,KAAS,QAAOozD,QAAQ/J,QAAAkM,iBAAAj1D,KAAAq1D,cAAA31D,GAAAy/B,cAAA5/B,EAAAkuB,UAAA/tB,IAA4EqzD,cAAArzD,IAAkBpJ,OAAAD,QAAAm8D,aAC5vG1B,wBAAA,GAAAC,0BAAA,IAAAC,2BAAA,IAAA9wB,2BAAA,IAAAtP,eAAA,MAA0I4kC,KAAA,SAAA11D,QAAAxJ,OAAAD,SAC7I,YAAa,SAAAo/D,OAAAj2D,EAAAlD,GAAoB,GAAAgD,KAAS,KAAA,GAAAC,KAAAC,GAAA,QAAAD,IAAAD,EAAAC,GAAAC,EAAAD,GAAsC,OAAAm2D,eAAA1iD,QAAA,SAAAxT,GAAyCA,IAAAlD,KAAAgD,EAAAE,GAAAlD,EAAAkD,MAAoBF,EAAI,QAAAq2D,aAAAn2D,GAAwBA,EAAAA,EAAAzB,OAAY,KAAA,GAAAzB,GAAApF,OAAAyK,OAAA,MAAArC,EAAA,EAAkCA,EAAAE,EAAA7G,OAAW2G,IAAAhD,EAAAkD,EAAAF,GAAApG,IAAAsG,EAAAF,EAAoB,KAAA,GAAAC,GAAA,EAAYA,EAAAC,EAAA7G,OAAW4G,IAAA,OAAAC,GAAAD,KAAAC,EAAAD,GAAAk2D,MAAAj2D,EAAAD,GAAAjD,EAAAkD,EAAAD,GAAA0E,MAAiD,OAAAzE,GAAS,GAAAk2D,eAAA51D,QAAA,wBAAmDxJ,QAAAD,QAAAs/D,cACvXC,wBAAA,MAA4BC,KAAA,SAAA/1D,QAAAxJ,OAAAD,SAC/B,YAAa,SAAAy/D,aAAAx5D,EAAAkD,EAAAvI,EAAAyI,GAA8BpD,EAAAA,MAAOkD,EAAAA,KAAS,IAAA1H,EAAM,KAAAA,IAAAwE,GAAAA,EAAA1E,eAAAE,KAAA0H,EAAA5H,eAAAE,KAAAb,EAAA2D,MAA+D0vB,QAAAyrC,WAAAhO,aAAAiO,MAAAl+D,KAAyC4H,EAAA5H,IAAA,GAAY,KAAAA,IAAA0H,GAAAA,EAAA5H,eAAAE,KAAAwE,EAAA1E,eAAAE,GAAAm+D,QAAA35D,EAAAxE,GAAA0H,EAAA1H,MAAAb,EAAA2D,MAAkF0vB,QAAAyrC,WAAAhO,aAAAiO,MAAAl+D,KAAyCb,EAAA2D,MAAU0vB,QAAAyrC,WAAAj6D,UAAAk6D,MAAAl+D,EAAA0H,EAAA1H,MAA2C4H,EAAA5H,IAAA,GAAAb,EAAA2D,MAAmB0vB,QAAAyrC,WAAAj6D,UAAAk6D,MAAAl+D,EAAA0H,EAAA1H,OAA8C,QAAAo+D,0BAAA55D,EAAAkD,EAAAvI,EAAAyI,EAAA5H,EAAAyH,GAA+CjD,EAAAA,MAAOkD,EAAAA,KAAS,IAAAjI,EAAM,KAAAA,IAAA+E,GAAAA,EAAA1E,eAAAL,KAAA0+D,QAAA35D,EAAA/E,GAAAiI,EAAAjI,KAAAN,EAAA2D,MAA6D0vB,QAAA/qB,EAAAy2D,MAAAt2D,EAAAnI,EAAAiI,EAAAjI,GAAAO,KAA+B,KAAAP,IAAAiI,GAAAA,EAAA5H,eAAAL,KAAA+E,EAAA1E,eAAAL,KAAA0+D,QAAA35D,EAAA/E,GAAAiI,EAAAjI,KAAAN,EAAA2D,MAAmF0vB,QAAA/qB,EAAAy2D,MAAAt2D,EAAAnI,EAAAiI,EAAAjI,GAAAO,MAA+B,QAAAq+D,SAAA75D,GAAoB,MAAAA,GAAApD,GAAY,QAAAk9D,WAAA95D,EAAAkD,GAAwB,MAAAlD,GAAAkD,EAAAtG,IAAAsG,EAAAlD,EAAmB,QAAA+5D,YAAA/5D,EAAAkD,EAAAvI,GAA2BqF,EAAAA,MAAAkD,EAAAA,KAAgB,IAAAE,GAAA5H,EAAAyH,EAAAhI,EAAAhB,EAAAsB,EAAAlB,EAAA8I,EAAAnD,EAAAtB,IAAAm7D,SAAA3/D,EAAAgJ,EAAAxE,IAAAm7D,SAAA31D,EAAAlE,EAAA8W,OAAAgjD,cAA2Ex/D,EAAA4I,EAAA4T,OAAAgjD,cAAyBt/D,EAAA2I,EAAA1B,QAAAwC,EAAArJ,OAAAyK,OAAA,KAAoC,KAAAjC,EAAA,EAAA5H,EAAA,EAAY4H,EAAAD,EAAA9G,OAAW+G,IAAAH,EAAAE,EAAAC,GAAA9I,EAAAgB,eAAA2H,GAAAzH,KAAAb,EAAA2D,MAA4C0vB,QAAAyrC,WAAAO,YAAAN,MAAAz2D,KAAwCzI,EAAAsN,OAAAtN,EAAAmc,QAAA1T,EAAAzH,GAAA,GAA8B,KAAA4H,EAAA,EAAA5H,EAAA,EAAY4H,EAAAlJ,EAAAmC,OAAW+G,IAAAH,EAAA/I,EAAAA,EAAAmC,OAAA,EAAA+G,GAAA5I,EAAAA,EAAA6B,OAAA,EAAA+G,KAAAH,IAAAiB,EAAA5I,eAAA2H,IAAAtI,EAAA2D,MAAyE0vB,QAAAyrC,WAAAO,YAAAN,MAAAz2D,KAAwCzI,EAAAsN,OAAAtN,EAAAoc,YAAA3T,EAAAzI,EAAA6B,OAAAb,GAAA,IAAAA,IAAAD,EAAAf,EAAAA,EAAA6B,OAAA+G,GAAAzI,EAAA2D,MAAuE0vB,QAAAyrC,WAAAh6D,SAAAi6D,MAAAp/D,EAAA2I,GAAA1H,KAA0Cf,EAAAsN,OAAAtN,EAAA6B,OAAA+G,EAAA,EAAAH,GAAAgB,EAAAhB,IAAA,EAAoC,KAAAG,EAAA,EAAQA,EAAAlJ,EAAAmC,OAAW+G,IAAA,GAAAH,EAAA/I,EAAAkJ,GAAAnI,EAAAiJ,EAAAjB,GAAAhJ,EAAAK,EAAA2I,IAAAgB,EAAAhB,KAAA02D,QAAA1+D,EAAAhB,GAAA,GAAA0/D,QAAA1+D,EAAA0E,OAAA1F,EAAA0F,SAAAg6D,QAAA1+D,EAAA,gBAAAhB,EAAA,kBAAA0/D,QAAA1+D,EAAA8B,KAAA9C,EAAA8C,MAAA,CAAsJ68D,yBAAA3+D,EAAA2E,OAAA3F,EAAA2F,OAAAjF,EAAAsI,EAAA,KAAAw2D,WAAAQ,mBAAAL,yBAAA3+D,EAAA6yC,MAAA7zC,EAAA6zC,MAAAnzC,EAAAsI,EAAA,KAAAw2D,WAAAS,kBAAAP,QAAA1+D,EAAAwb,OAAAxc,EAAAwc,SAAA9b,EAAA2D,MAAqM0vB,QAAAyrC,WAAAU,UAAAT,MAAAz2D,EAAAhJ,EAAAwc,UAA+CkjD,QAAA1+D,EAAAkvC,QAAAlwC,EAAAkwC,UAAAwvB,QAAA1+D,EAAAmvC,QAAAnwC,EAAAmwC,UAAAzvC,EAAA2D,MAAsE0vB,QAAAyrC,WAAAW,kBAAAV,MAAAz2D,EAAAhJ,EAAAkwC,QAAAlwC,EAAAmwC,UAAoE,KAAA/vC,IAAAY,GAAAA,EAAAK,eAAAjB,IAAA,WAAAA,GAAA,UAAAA,GAAA,WAAAA,GAAA,aAAAA,GAAA,YAAAA,GAAA,YAAAA,IAAA,IAAAA,EAAAsc,QAAA,UAAAijD,yBAAA3+D,EAAAZ,GAAAJ,EAAAI,GAAAM,EAAAsI,EAAA5I,EAAAoH,MAAA,GAAAg4D,WAAAS,kBAAAP,QAAA1+D,EAAAZ,GAAAJ,EAAAI,KAAAM,EAAA2D,MAA2P0vB,QAAAyrC,WAAAY,iBAAAX,MAAAz2D,EAAA5I,EAAAJ,EAAAI,MAAuD,KAAAA,IAAAJ,GAAAA,EAAAqB,eAAAjB,KAAAY,EAAAK,eAAAjB,IAAA,WAAAA,GAAA,UAAAA,GAAA,WAAAA,GAAA,aAAAA,GAAA,YAAAA,GAAA,YAAAA,IAAA,IAAAA,EAAAsc,QAAA,UAAAijD,yBAAA3+D,EAAAZ,GAAAJ,EAAAI,GAAAM,EAAAsI,EAAA5I,EAAAoH,MAAA,GAAAg4D,WAAAS,kBAAAP,QAAA1+D,EAAAZ,GAAAJ,EAAAI,KAAAM,EAAA2D,MAAiR0vB,QAAAyrC,WAAAY,iBAAAX,MAAAz2D,EAAA5I,EAAAJ,EAAAI,WAAuDM,GAAA2D,MAAa0vB,QAAAyrC,WAAAO,YAAAN,MAAAz2D,KAAwC1H,EAAAf,EAAAA,EAAAoc,YAAA3T,GAAA,GAAAtI,EAAA2D,MAAkC0vB,QAAAyrC,WAAAh6D,SAAAi6D,MAAAz/D,EAAAsB,KAAyC,QAAA++D,YAAAt6D,EAAAkD,GAAyB,IAAAlD,EAAA,QAAcguB,QAAAyrC,WAAAn3D,SAAAo3D,MAAAx2D,IAAuC,IAAAvI,KAAS,KAAI,IAAAg/D,QAAA35D,EAAAwJ,QAAAtG,EAAAsG,SAAA,QAAyCwkB,QAAAyrC,WAAAn3D,SAAAo3D,MAAAx2D,IAAuCy2D,SAAA35D,EAAAjB,OAAAmE,EAAAnE,SAAApE,EAAA2D,MAAoC0vB,QAAAyrC,WAAAc,UAAAb,MAAAx2D,EAAAnE,UAA6C46D,QAAA35D,EAAAhB,KAAAkE,EAAAlE,OAAArE,EAAA2D,MAAkC0vB,QAAAyrC,WAAAe,QAAAd,MAAAx2D,EAAAlE,QAAyC26D,QAAA35D,EAAAsjC,QAAApgC,EAAAogC,UAAA3oC,EAAA2D,MAAwC0vB,QAAAyrC,WAAAgB,WAAAf,MAAAx2D,EAAAogC,WAA+Cq2B,QAAA35D,EAAAkpC,MAAAhmC,EAAAgmC,QAAAvuC,EAAA2D,MAAoC0vB,QAAAyrC,WAAAiB,SAAAhB,MAAAx2D,EAAAgmC,SAA2CywB,QAAA35D,EAAAi8C,OAAA/4C,EAAA+4C,SAAAthD,EAAA2D,MAAsC0vB,QAAAyrC,WAAAxa,UAAAya,MAAAx2D,EAAA+4C,UAA6C0d,QAAA35D,EAAA26D,OAAAz3D,EAAAy3D,SAAAhgE,EAAA2D,MAAsC0vB,QAAAyrC,WAAAmB,UAAAlB,MAAAx2D,EAAAy3D,UAA6ChB,QAAA35D,EAAA66D,WAAA33D,EAAA23D,aAAAlgE,EAAA2D,MAA8C0vB,QAAAyrC,WAAAqB,cAAApB,MAAAx2D,EAAA23D,cAAqDlB,QAAA35D,EAAAw1C,MAAAtyC,EAAAsyC,QAAA76C,EAAA2D,MAAoC0vB,QAAAyrC,WAAAlkB,SAAAmkB,MAAAx2D,EAAAsyC,QAA6C,IAAApyC,MAAQ5H,IAAMg+D,aAAAx5D,EAAAgwB,QAAA9sB,EAAA8sB,QAAAx0B,EAAA4H,EAAqC,IAAAH,KAASjD,GAAAisB,QAAAjsB,EAAAisB,OAAAvV,QAAA,SAAA1W,GAAuCoD,EAAApD,EAAAL,QAAAhF,EAAA2D,MAAoB0vB,QAAAyrC,WAAAO,YAAAN,MAAA15D,EAAApD,MAA2CqG,EAAA3E,KAAA0B,KAAYrF,EAAAA,EAAAqM,OAAAxL,GAAAu+D,WAAA92D,EAAAC,EAAA+oB,OAAAtxB,GAAyC,MAAAqF,GAASwP,QAAAurD,KAAA,gCAAA/6D,GAAArF,IAAoDqzB,QAAAyrC,WAAAn3D,SAAAo3D,MAAAx2D,KAAuC,MAAAvI,GAAS,GAAAg/D,SAAAn2D,QAAA,kBAAAi2D,YAAkDn3D,SAAA,WAAA7C,SAAA,WAAAu6D,YAAA,cAAAE,iBAAA,mBAAAD,kBAAA,oBAAAE,UAAA,YAAA36D,UAAA,YAAAisD,aAAA,eAAA2O,kBAAA,oBAAAC,iBAAA,mBAAAE,UAAA,YAAAC,QAAA,UAAAC,WAAA,aAAAC,SAAA,WAAAzb,UAAA,YAAA2b,UAAA,YAAAE,cAAA,gBAAAvlB,SAAA,WAAidv7C,QAAAD,QAAAugE,WAAAtgE,OAAAD,QAAA0/D,WAAAA,aACzwIuB,iBAAA,MAAqBC,KAAA,SAAAz3D,QAAAxJ,OAAAD,SACxB,YAAa,SAAAmhE,iBAAAh4D,EAAAjJ,GAA8ByJ,KAAAy3D,SAAAj4D,EAAAA,EAAA,KAAA,IAAAoG,OAAA2Z,MAAA3Z,OAAAmK,MAAApY,UAAAoG,MAAArH,KAAAgC,UAAA,IAAA,OAAAnC,OAAA,KAAAA,GAAAA,EAAAmhE,WAAA13D,KAAAg8C,KAAAzlD,EAAAmhE,UAAiJ,GAAA9xD,QAAA9F,QAAA,QAAA8F,MAAkCtP,QAAAD,QAAAmhE,kBAC3N1nC,KAAA,KAAU6nC,KAAA,SAAA73D,QAAAxJ,OAAAD,SACb,YAAa,SAAAuhE,cAAAt7D,GAAyB,MAAA,IAAAiX,UAAA,IAAA,6CAA2DskD,QAAAv7D,IAAsB,QAAAu7D,SAAAv7D,GAAoB,IAAAA,EAAA,MAAA,MAAmB,IAAA/F,GAAA+F,EAAA,EAAW,OAAAA,GAAA3D,QAAA,EAAA,QAAApC,EAAA,QAAA,OAAsiB,KAAxf,OAAAA,EAAAuhE,oBAAAx7D,EAAA,GAAAA,EAAA,GAAA,OAAA,GAAA,OAAA/F,EAAAuhE,oBAAAx7D,EAAA,GAAAA,EAAA,GAAA,OAAA,GAAA,MAAA/F,GAAA,MAAAA,GAAA,OAAAA,GAAA,OAAAA,EAAAuhE,oBAAAx7D,EAAA,GAAAA,EAAA,GAAA/F,GAAA,GAAA,QAAAA,EAAAwhE,iBAAAz7D,EAAAyB,MAAA,GAAA,MAAA,QAAAxH,EAAAwhE,iBAAAz7D,EAAAyB,MAAA,GAAA,MAAA,SAAAxH,EAAAyhE,gBAAAD,iBAAAz7D,EAAAyB,MAAA,GAAA,OAAA,OAAAxH,EAAA0hE,YAAA37D,EAAA,GAAAA,EAAAyB,MAAA,IAAA,QAAAxH,EAAAyhE,gBAAAC,YAAA37D,EAAA,GAAAA,EAAAyB,MAAA,KAAA,QAAAxH,EAAA2hE,aAAA57D,EAAA,IAAA,SAAA/F,EAAAyhE,gBAAAE,aAAA57D,EAAA,KAAA,QAAwf,IAAgB,QAAA67D,0BAAA77D,GAAqC,MAAA,UAAAA,EAAA,SAAA,QAAAA,EAAA,OAAA,KAAAyQ,KAAAC,UAAA1Q,GAAA,IAAuE,QAAAw7D,qBAAAx7D,EAAA/F,EAAAgB,EAAAiI,GAAsC,GAAAvI,GAAAkhE,yBAAA77D,GAAAiD,EAAA,UAAAjD,EAAA4sB,MAAAjW,QAAA1c,GAAAwW,KAAAC,UAAAzW,EAAmF,QAAAiJ,EAAA,UAAAvI,EAAA,cAAAsI,EAAA,KAAA,IAAAtI,EAAAM,EAAAgI,EAAoD,QAAAw4D,kBAAAz7D,EAAA/F,GAA+B,MAAA+F,GAAAtB,IAAA68D,SAAA55D,KAAA1H,GAA8B,QAAA0hE,aAAA37D,EAAA/F,GAA0B,UAAA+F,IAAA/F,EAAAA,EAAAyE,IAAA,SAAAsB,GAAkC,MAAA4sB,OAAAjW,QAAA3W,KAA2B,IAAA/E,GAAAwV,KAAAC,UAAAzW,EAAA2R,KAAAma,UAAA7iB,EAAA24D,yBAAA77D,EAAoE,OAAA/F,GAAAoC,QAAA,IAAApB,EAAA,YAAAiI,EAAA,WAAA,yJAAsMA,EAAA,KAAAjI,EAAA,OAAAhB,EAAAoC,OAAA,GAAA,IAAmC,QAAAu/D,cAAA57D,GAAyB,MAAA,QAAAA,EAAA,YAAAyQ,KAAAC,UAAA1Q,GAAA,QAAsD,QAAA07D,iBAAA17D,GAA4B,MAAA,KAAAA,EAAA,IAAiB,QAAA+lB,SAAA/lB,EAAA/F,GAAsB,MAAA+F,GAAA/F,GAAA,EAAA+F,EAAA/F,EAAA,EAAA,EAAsBD,OAAAD,QAAAuhE,YAA4B,IAAA1uC,QAAA,UAAA,QAAA,aAAA,gBACznDkvC,KAAA,SAAAt4D,QAAAxJ,OAAAD,SACJ,YAAa,SAAAgiE,SAAA74D,GAAoB,MAAAA,GAAA84D,GAAAp4D,KAAA+F,IAAAzG,EAAA,EAAA,GAAAA,EAAA+4D,GAAAC,GAAoC,QAAAC,SAAAj5D,GAAoB,MAAAA,GAAAk5D,GAAAl5D,EAAAA,EAAAA,EAAA+4D,IAAA/4D,EAAAg5D,IAA4B,QAAAG,SAAAn5D,GAAoB,MAAA,MAAAA,GAAA,SAAA,MAAAA,EAAA,MAAAU,KAAA+F,IAAAzG,EAAA,EAAA,KAAA,MAA8D,QAAAo5D,SAAAp5D,GAAoB,MAAAA,IAAA,IAAAA,GAAA,OAAAA,EAAA,MAAAU,KAAA+F,KAAAzG,EAAA,MAAA,MAAA,KAA6D,QAAAq5D,UAAAr5D,GAAqB,GAAAD,GAAAq5D,QAAAp5D,EAAA,IAAAE,EAAAk5D,QAAAp5D,EAAA,IAAAjI,EAAAqhE,QAAAp5D,EAAA,IAAAqB,EAAAw3D,SAAA,SAAA94D,EAAA,SAAAG,EAAA,SAAAnI,GAAAuhE,IAAA7hE,EAAAohE,SAAA,SAAA94D,EAAA,SAAAG,EAAA,QAAAnI,GAAAwhE,GAAqM,QAAA,IAAA9hE,EAAA,GAAA,KAAA4J,EAAA5J,GAAA,KAAAA,EAArMohE,SAAA,SAAA94D,EAAA,QAAAG,EAAA,SAAAnI,GAAAyhE,KAAqMx5D,EAAA,IAA0C,QAAAy5D,UAAAz5D,GAAqB,GAAAD,IAAAC,EAAA,GAAA,IAAA,IAAAE,EAAA+Q,MAAAjR,EAAA,IAAAD,EAAAA,EAAAC,EAAA,GAAA,IAAAjI,EAAAkZ,MAAAjR,EAAA,IAAAD,EAAAA,EAAAC,EAAA,GAAA,GAA0E,OAAAD,GAAAw5D,GAAAN,QAAAl5D,GAAAG,EAAAo5D,GAAAL,QAAA/4D,GAAAnI,EAAAyhE,GAAAP,QAAAlhE,IAAAohE,QAAA,UAAAj5D,EAAA,UAAAH,EAAA,SAAAhI,GAAAohE,SAAA,QAAAj5D,EAAA,UAAAH,EAAA,QAAAhI,GAAAohE,QAAA,SAAAj5D,EAAA,SAAAH,EAAA,UAAAhI,GAAAiI,EAAA,IAA+L,QAAA05D,UAAA15D,GAAqB,GAAAD,GAAAs5D,SAAAr5D,GAAAE,EAAAH,EAAA,GAAAhI,EAAAgI,EAAA,GAAAsB,EAAAtB,EAAA,GAAAtI,EAAAiJ,KAAA4d,MAAAjd,EAAAtJ,GAAA4hE,OAAiE,QAAAliE,EAAA,EAAAA,EAAA,IAAAA,EAAAiJ,KAAA2R,KAAAta,EAAAA,EAAAsJ,EAAAA,GAAAnB,EAAAF,EAAA,IAA8C,QAAA45D,UAAA55D,GAAqB,GAAAD,GAAAC,EAAA,GAAA65D,QAAA35D,EAAAF,EAAA,EAAiC,OAAAy5D,WAAjCz5D,EAAA,GAAiCU,KAAAE,IAAAb,GAAAG,EAAAQ,KAAAC,IAAAZ,GAAAG,EAAAF,EAAA,KAAsD,GAAAs5D,IAAA,OAAAC,GAAA,EAAAC,GAAA,QAAAR,GAAA,EAAA,GAAAE,GAAA,EAAA,GAAAH,GAAA,EAAAG,GAAAA,GAAAJ,GAAAI,GAAAA,GAAAA,GAAAW,QAAAn5D,KAAAgG,GAAA,IAAAizD,QAAA,IAAAj5D,KAAAgG,EAA6G5P,QAAAD,SAAgBijE,KAAKC,QAAAV,SAAAhvD,QAAAovD,UAAkCO,KAAMD,QAAAL,SAAArvD,QAAAuvD,gBAChtCK,KAAA,SAAA35D,QAAAxJ,OAAAD,SACJ,YAAa,SAAAqjE,kBAAAn6D,GAA6B,MAAAA,GAAS,QAAAo6D,gBAAAp6D,EAAAjD,GAA6B,GAAArF,GAAAM,EAAA,UAAA+E,EAAAjD,IAAyB,IAAAugE,qBAAAr6D,GAAA,CAA4B,GAAAC,GAAAD,EAAAs6D,OAAA,gBAAAt6D,GAAAs6D,MAAA,GAAA,GAAAn6D,EAAAF,OAAA,KAAAD,EAAA7H,SAAAnB,EAAAiJ,IAAAE,EAAA5H,EAAAyH,EAAAlG,OAAA,iBAAAiD,EAAAw9D,SAAA,cAAA,WAAgJviE,MAAAgI,EAAAnC,UAAemC,IAAAs6D,QAAAt6D,EAAAs6D,MAAAt6D,EAAAs6D,MAAA7+D,IAAA,SAAAuE,GAA8C,OAAAA,EAAA,GAAAw6D,WAAAx6D,EAAA,QAA8BA,EAAA9E,QAAA8E,EAAA9E,QAAAs/D,WAAAx6D,EAAA9E,SAAA8E,EAAA9E,QAAAs/D,WAAAz9D,EAAA7B,SAA8E,IAAAgF,GAAA5H,EAAArB,CAAU,IAAA,gBAAAsB,EAAA2H,EAAAu6D,gCAAmD,IAAA,aAAAliE,EAAA2H,EAAAw6D,6BAAkD,IAAA,gBAAAniE,EAAA,CAA2B2H,EAAAy6D,4BAAAriE,EAAAX,OAAAyK,OAAA,KAAoD,KAAA,GAAA/K,GAAA,EAAA0I,EAAAC,EAAAs6D,MAAsBjjE,EAAA0I,EAAA3G,OAAW/B,GAAA,EAAA,CAAM,GAAAE,GAAAwI,EAAA1I,EAAWiB,GAAAf,EAAA,IAAAA,EAAA,GAAaN,QAAA+I,GAAAs6D,MAAA,GAAA,OAAuB,CAAK,GAAA,aAAA/hE,EAAA,KAAA,IAAA6H,OAAA,0BAAA7H,EAAA,IAAmE2H,GAAA06D,yBAA2B,GAAA95D,EAAM,IAAAd,EAAA66D,YAAA,QAAA76D,EAAA66D,WAAA,CAAuC,IAAAC,YAAA96D,EAAA66D,YAAA,KAAA,IAAAz6D,OAAA,wBAAAJ,EAAA66D,WAAoF,IAAA55D,GAAA65D,YAAA96D,EAAA66D,WAAgC76D,GAAAwN,KAAA+6C,MAAA/6C,KAAAC,UAAAzN,GAAgC,KAAA,GAAAoB,GAAA,EAAYA,EAAApB,EAAAs6D,MAAAlhE,OAAiBgI,IAAApB,EAAAs6D,MAAAl5D,IAAApB,EAAAs6D,MAAAl5D,GAAA,GAAAH,EAAA+4D,QAAAh6D,EAAAs6D,MAAAl5D,GAAA,IAAwDN,GAAAG,EAAAqJ,YAAYxJ,GAAAq5D,gBAAwB,IAAAl6D,EAAA,CAAM,IAAA,GAAAe,MAAYO,KAAAuyB,EAAA,EAAUA,EAAA9zB,EAAAs6D,MAAAlhE,OAAiB06B,IAAA,CAAK,GAAA18B,GAAA4I,EAAAs6D,MAAAxmC,GAAA5oB,EAAA9T,EAAA,GAAA2E,SAA6B,KAAAiF,EAAAkK,KAAAlK,EAAAkK,IAAsBnP,KAAAmP,EAAApR,KAAAkG,EAAAlG,KAAA3B,SAAA6H,EAAA7H,SAAA+C,QAAA8E,EAAA9E,QAAAo/D,UAAkE/4D,EAAAlG,KAAA6P,IAAAlK,EAAAkK,GAAAovD,MAAAj/D,MAAAjE,EAAA,GAAAE,MAAAF,EAAA,KAA+C,IAAA,GAAAgX,MAAA/M,EAAA,EAAAC,EAAAC,EAAqBF,EAAAC,EAAAlI,OAAWiI,GAAA,EAAA,CAAM,GAAAQ,GAAAP,EAAAD,EAAW+M,GAAA/S,MAAA2F,EAAAa,GAAA9F,KAAAq+D,eAAAp5D,EAAAa,GAAA9E,MAA2CrF,EAAA,SAAAA,EAAAM,GAAgB,MAAA8I,GAAA25D,6BAAsCH,MAAAlsD,EAAAunB,KAAA31B,EAAA21B,MAAoB54B,EAAArF,GAAAA,EAAAM,MAAYg9B,mBAAA,EAAAt9B,EAAAw9B,gBAAA,MAA4Cl+B,IAAAU,EAAA,SAAAA,GAAsB,MAAAoJ,GAAAZ,EAAAF,EAAAjD,EAAArF,EAAAY,EAAArB,KAAuBS,EAAAs9B,mBAAA,EAAAt9B,EAAAw9B,gBAAA,IAAAx9B,EAAA,SAAAA,EAAAM,GAA8D,GAAAiI,GAAAjI,EAAAgI,EAAA7H,SAAoB,YAAA,KAAA8H,EAAA86D,SAAA/6D,EAAA9E,QAAA6B,EAAA7B,SAAA4F,EAAAZ,EAAAF,EAAAjD,EAAAkD,EAAA3H,EAAArB,KAAgES,EAAAs9B,mBAAA,EAAAt9B,EAAAw9B,gBAAA,OAA6Cl9B,IAAAgI,IAAAA,EAAAw6D,WAAAx6D,IAAAtI,EAAA,WAA0C,MAAAsI,IAAStI,EAAAs9B,mBAAA,EAAAt9B,EAAAw9B,gBAAA,CAA4C,OAAAx9B,GAAS,QAAAqjE,UAAA/6D,EAAAjD,EAAArF,GAAyB,WAAA,KAAAsI,EAAAA,MAAA,KAAAjD,EAAAA,MAAA,KAAArF,EAAAA,MAAA,GAAqD,QAAAijE,6BAAA36D,EAAAjD,EAAArF,EAAAM,EAAAiI,GAA+E,MAAA86D,gBAA/BrjE,KAAAuI,EAAAjI,EAAAN,OAAA,GAA+BsI,EAAA9E,QAAA6B,EAAA7B,SAAuC,QAAAw/D,0BAAA16D,EAAAjD,EAAArF,GAAyC,GAAA,WAAA21D,QAAA31D,GAAA,MAAAqjE,UAAA/6D,EAAA9E,QAAA6B,EAAA7B,QAA8D,IAAAlD,GAAAgI,EAAAs6D,MAAAlhE,MAAqB,IAAA,IAAApB,EAAA,MAAAgI,GAAAs6D,MAAA,GAAA,EAA8B,IAAA5iE,GAAAsI,EAAAs6D,MAAA,GAAA,GAAA,MAAAt6D,GAAAs6D,MAAA,GAAA,EAAyC,IAAA5iE,GAAAsI,EAAAs6D,MAAAtiE,EAAA,GAAA,GAAA,MAAAgI,GAAAs6D,MAAAtiE,EAAA,GAAA,EAA6C,IAAAiI,GAAA+6D,0BAAAh7D,EAAAs6D,MAAA5iE,EAA2C,OAAAsI,GAAAs6D,MAAAr6D,GAAA,GAAqB,QAAAw6D,6BAAAz6D,EAAAjD,EAAArF,GAA4C,GAAAM,OAAA,KAAAgI,EAAA21B,KAAA31B,EAAA21B,KAAA,CAA+B,IAAA,WAAA03B,QAAA31D,GAAA,MAAAqjE,UAAA/6D,EAAA9E,QAAA6B,EAAA7B,QAA8D,IAAA+E,GAAAD,EAAAs6D,MAAAlhE,MAAqB,IAAA,IAAA6G,EAAA,MAAAD,GAAAs6D,MAAA,GAAA,EAA8B,IAAA5iE,GAAAsI,EAAAs6D,MAAA,GAAA,GAAA,MAAAt6D,GAAAs6D,MAAA,GAAA,EAAyC,IAAA5iE,GAAAsI,EAAAs6D,MAAAr6D,EAAA,GAAA,GAAA,MAAAD,GAAAs6D,MAAAr6D,EAAA,GAAA,EAA6C,IAAAE,GAAA66D,0BAAAh7D,EAAAs6D,MAAA5iE,GAAAV,EAAAqjD,oBAAA3iD,EAAAM,EAAAgI,EAAAs6D,MAAAn6D,GAAA,GAAAH,EAAAs6D,MAAAn6D,EAAA,GAAA,IAAA5H,EAAAyH,EAAAs6D,MAAAn6D,GAAA,GAAAD,EAAAF,EAAAs6D,MAAAn6D,EAAA,GAAA,GAAA7H,EAAA2iE,YAAAl+D,EAAAjD,OAAAqgE,gBAA8K,OAAA,kBAAA5hE,GAAA,WAAsC,GAAAyH,GAAAzH,EAAAynB,UAAA,GAAA7mB,WAAA4D,EAAAmD,EAAA8f,UAAA,GAAA7mB,UAA4D,QAAA,KAAA6G,OAAA,KAAAjD,EAAA,MAAAzE,GAAA0H,EAAAjD,EAAA/F,IAA0CsB,EAAAC,EAAA2H,EAAAlJ,GAAU,QAAA4jE,0BAAA56D,EAAAjD,EAAArF,GAAyC,MAAA,UAAAqF,EAAAjD,KAAApC,EAAA8iE,WAAA9iE,GAAA21D,QAAA31D,KAAAqF,EAAAjD,OAAApC,MAAA,IAAAqjE,SAAArjE,EAAAsI,EAAA9E,QAAA6B,EAAA7B,SAAuG,QAAA8/D,2BAAAh7D,EAAAjD,GAAwC,IAAA,GAAArF,GAAAM,EAAAmI,EAAA,EAAAnJ,EAAAgJ,EAAA5G,OAAA,EAAAb,EAAA,EAAqC4H,GAAAnJ,GAAK,CAAE,GAAAuB,EAAAoI,KAAAwN,OAAAhO,EAAAnJ,GAAA,GAAAU,EAAAsI,EAAAzH,GAAA,GAAAP,EAAAgI,EAAAzH,EAAA,GAAA,GAAAwE,IAAArF,GAAAqF,EAAArF,GAAAqF,EAAA/E,EAAA,MAAAO,EAAwEb,GAAAqF,EAAAoD,EAAA5H,EAAA,EAAAb,EAAAqF,IAAA/F,EAAAuB,EAAA,GAAuB,MAAAoI,MAAAyD,IAAA7L,EAAA,EAAA,GAAuB,QAAA8hE,sBAAAr6D,GAAiC,MAAA,gBAAAA,KAAAA,EAAAs6D,OAAA,aAAAt6D,EAAAlG,MAAyD,QAAAugD,qBAAAr6C,EAAAjD,EAAArF,EAAAM,GAAsC,GAAAiI,GAAAjI,EAAAN,EAAAyI,EAAAH,EAAAtI,CAAgB,OAAA,KAAAqF,EAAAoD,EAAAF,GAAAU,KAAA+F,IAAA3J,EAAAoD,GAAA,IAAAQ,KAAA+F,IAAA3J,EAAAkD,GAAA,GAAqD,GAAA66D,aAAAv6D,QAAA,kBAAAi6D,WAAAj6D,QAAA,uBAAA1C,OAAA0C,QAAA,kBAAA8sD,QAAA9sD,QAAA,oBAAA06D,YAAA16D,QAAA,sBAAoMxJ,QAAAD,QAAAsjE,eAAArjE,OAAAD,QAAAujE,qBAAAA,qBAAAtjE,OAAAD,QAAAujD,oBAAAA,oBAAAtjD,OAAAD,QAAAkkE,0BAAAA,4BACjqHE,iBAAA,IAAAC,mBAAA,IAAAC,sBAAA,IAAAC,sBAAA,IAAAC,iBAAA,MAAqHC,KAAA,SAAAh7D,QAAAxJ,OAAAD,SACxH,YAAa,SAAAg0B,KAAA7qB,GAAgB,MAAAwN,WAAA0oD,cAAA16D,IAAA,SAAAsB,GAA+C,MAAAkD,GAAAlD,MAAe,QAAAy+D,eAAAv7D,GAA0B,IAAA,GAAAlD,MAAYiD,EAAA,EAAKA,EAAAC,EAAA7G,OAAW4G,IAAA,CAAK,GAAAhJ,GAAA8zB,IAAA7qB,EAAAD,IAAAE,EAAAnD,EAAA/F,EAAuBkJ,KAAAA,EAAAnD,EAAA/F,OAAAkJ,EAAA7E,KAAA4E,EAAAD,IAA4B,GAAAhI,KAAS,KAAA,GAAAN,KAAAqF,GAAA/E,EAAAqD,KAAA0B,EAAArF,GAA4B,OAAAM,GAAS,GAAAm+D,eAAA51D,QAAA,yBAAAkN,UAAAlN,QAAA,wBAA8FxJ,QAAAD,QAAA0kE,gBAClVnF,wBAAA,IAAAoF,wBAAA,MAAwDC,KAAA,SAAAn7D,QAAAxJ,OAAAD,SAC3D,QAAA6kE,gBAAA5+D,GAA2B,MAAAA,GAAA4D,KAAAyO,MAAArS,GAAAA,EAAA,EAAA,EAAAA,EAAA,IAAA,IAAAA,EAAyC,QAAA6+D,iBAAA7+D,GAA4B,MAAAA,GAAA,EAAA,EAAAA,EAAA,EAAA,EAAAA,EAAqB,QAAA8+D,eAAA9+D,GAA0B,MAAA4+D,gBAAA,MAAA5+D,EAAAA,EAAA3D,OAAA,GAAA0iE,WAAA/+D,GAAA,IAAA,IAAA89B,SAAA99B,IAA6E,QAAAg/D,iBAAAh/D,GAA4B,MAAA6+D,iBAAA,MAAA7+D,EAAAA,EAAA3D,OAAA,GAAA0iE,WAAA/+D,GAAA,IAAA++D,WAAA/+D,IAA4E,QAAAi/D,gBAAAj/D,EAAAkD,EAAAhJ,GAA+B,MAAAA,GAAA,EAAAA,GAAA,EAAAA,EAAA,IAAAA,GAAA,GAAA,EAAAA,EAAA,EAAA8F,GAAAkD,EAAAlD,GAAA9F,EAAA,EAAA,EAAAA,EAAA,EAAAgJ,EAAA,EAAAhJ,EAAA,EAAA8F,GAAAkD,EAAAlD,IAAA,EAAA,EAAA9F,GAAA,EAAA8F,EAAgF,QAAAk/D,eAAAl/D,GAA0B,GAAAkD,GAAAlD,EAAAqoB,QAAA,KAAA,IAAAzmB,aAAuC,IAAAsB,IAAAi8D,gBAAA,MAAAA,gBAAAj8D,GAAAzB,OAAwD,IAAA,MAAAyB,EAAA,GAAA,CAAe,GAAA,IAAAA,EAAA7G,OAAgD,OAA/BnC,EAAA4jC,SAAA56B,EAAAmW,OAAA,GAAA,MAA+B,GAAAnf,GAAA,OAAA,KAAAA,IAAA,GAAA,KAAAA,IAAA,EAAA,IAAAA,GAAA,IAAAA,IAAA,EAAA,GAAAA,GAAA,GAAAA,IAAA,EAAA,GAAA,IAAsF,IAAA,IAAAgJ,EAAA7G,OAAA,CAAiB,GAAAnC,GAAA4jC,SAAA56B,EAAAmW,OAAA,GAAA,GAA+B,OAAAnf,IAAA,GAAAA,GAAA,WAAA,SAAAA,IAAA,IAAA,MAAAA,IAAA,EAAA,IAAAA,EAAA,GAAA,KAAsE,MAAA,MAAY,GAAAkJ,GAAAF,EAAAyT,QAAA,KAAA1T,EAAAC,EAAAyT,QAAA,IAAsC,KAAA,IAAAvT,GAAAH,EAAA,IAAAC,EAAA7G,OAAA,CAA2B,GAAApB,GAAAiI,EAAAmW,OAAA,EAAAjW,GAAA5H,EAAA0H,EAAAmW,OAAAjW,EAAA,EAAAH,GAAAG,EAAA,IAAAtH,MAAA,KAAAnB,EAAA,CAA2D,QAAAM,GAAU,IAAA,OAAA,GAAA,IAAAO,EAAAa,OAAA,MAAA,KAAuC1B,GAAAqkE,gBAAAxjE,EAAA0V,MAA2B,KAAA,MAAA,MAAA,KAAA1V,EAAAa,OAAA,MAAAyiE,cAAAtjE,EAAA,IAAAsjE,cAAAtjE,EAAA,IAAAsjE,cAAAtjE,EAAA,IAAAb,EAAmG,KAAA,OAAA,GAAA,IAAAa,EAAAa,OAAA,MAAA,KAAuC1B,GAAAqkE,gBAAAxjE,EAAA0V,MAA2B,KAAA,MAAA,GAAA,IAAA1V,EAAAa,OAAA,MAAA,KAAsC,IAAApC,IAAA8kE,WAAAvjE,EAAA,IAAA,IAAA,KAAA,IAAA,IAAA2H,EAAA67D,gBAAAxjE,EAAA,IAAAgJ,EAAAw6D,gBAAAxjE,EAAA,IAAAhB,EAAAgK,GAAA,GAAAA,GAAArB,EAAA,GAAAqB,EAAArB,EAAAqB,EAAArB,EAAA7I,EAAA,EAAAkK,EAAAhK,CAAyH,QAAAokE,eAAA,IAAAK,eAAA3kE,EAAAE,EAAAP,EAAA,EAAA,IAAA2kE,eAAA,IAAAK,eAAA3kE,EAAAE,EAAAP,IAAA2kE,eAAA,IAAAK,eAAA3kE,EAAAE,EAAAP,EAAA,EAAA,IAAAU,EAAgJ,SAAA,MAAA,OAAqB,MAAA,MAAY,GAAAwkE,iBAAoBC,aAAA,EAAA,EAAA,EAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,cAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,EAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,OAAA,IAAA,IAAA,IAAA,GAAAC,OAAA,IAAA,IAAA,IAAA,GAAAC,QAAA,IAAA,IAAA,IAAA,GAAAj1C,OAAA,EAAA,EAAA,EAAA,GAAAk1C,gBAAA,IAAA,IAAA,IAAA,GAAAj1C,MAAA,EAAA,EAAA,IAAA,GAAAk1C,YAAA,IAAA,GAAA,IAAA,GAAAC,OAAA,IAAA,GAAA,GAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,GAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,EAAA,GAAAC,WAAA,IAAA,IAAA,GAAA,GAAAC,OAAA,IAAA,IAAA,GAAA,GAAAC,gBAAA,IAAA,IAAA,IAAA,GAAAC,UAAA,IAAA,IAAA,IAAA,GAAAC,SAAA,IAAA,GAAA,GAAA,GAAA11C,MAAA,EAAA,IAAA,IAAA,GAAA21C,UAAA,EAAA,EAAA,IAAA,GAAAC,UAAA,EAAA,IAAA,IAAA,GAAAC,eAAA,IAAA,IAAA,GAAA,GAAAC,UAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,EAAA,IAAA,EAAA,GAAAC,UAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,aAAA,IAAA,EAAA,IAAA,GAAAC,gBAAA,GAAA,IAAA,GAAA,GAAAC,YAAA,IAAA,IAAA,EAAA,GAAAC,YAAA,IAAA,GAAA,IAAA,GAAAC,SAAA,IAAA,EAAA,EAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,cAAA,IAAA,IAAA,IAAA,GAAAC,eAAA,GAAA,GAAA,IAAA,GAAAC,eAAA,GAAA,GAAA,GAAA,GAAAC,eAAA,GAAA,GAAA,GAAA,GAAAC,eAAA,EAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,EAAA,IAAA,GAAAC,UAAA,IAAA,GAAA,IAAA,GAAAC,aAAA,EAAA,IAAA,IAAA,GAAAC,SAAA,IAAA,IAAA,IAAA,GAAAC,SAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,GAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,GAAA,GAAA,GAAAC,aAAA,IAAA,IAAA,IAAA,GAAAC,aAAA,GAAA,IAAA,GAAA,GAAAC,SAAA,IAAA,EAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,IAAA,IAAA,EAAA,GAAAC,WAAA,IAAA,IAAA,GAAA,GAAAC,MAAA,IAAA,IAAA,IAAA,GAAA13C,OAAA,EAAA,IAAA,EAAA,GAAA23C,aAAA,IAAA,IAAA,GAAA,GAAA/3C,MAAA,IAAA,IAAA,IAAA,GAAAg4C,UAAA,IAAA,IAAA,IAAA,GAAAC,SAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,GAAA,GAAA,GAAAC,QAAA,GAAA,EAAA,IAAA,GAAAC,OAAA,IAAA,IAAA,IAAA,GAAAC,OAAA,IAAA,IAAA,IAAA,GAAAC,UAAA,IAAA,IAAA,IAAA,GAAAC,eAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,EAAA,GAAAC,cAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,sBAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,aAAA,IAAA,IAAA,IAAA,GAAAC,eAAA,GAAA,IAAA,IAAA,GAAAC,cAAA,IAAA,IAAA,IAAA,GAAAC,gBAAA,IAAA,IAAA,IAAA,GAAAC,gBAAA,IAAA,IAAA,IAAA,GAAAC,gBAAA,IAAA,IAAA,IAAA,GAAAC,aAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,EAAA,IAAA,EAAA,GAAAC,WAAA,GAAA,IAAA,GAAA,GAAAC,OAAA,IAAA,IAAA,IAAA,GAAAt5C,SAAA,IAAA,EAAA,IAAA,GAAAu5C,QAAA,IAAA,EAAA,EAAA,GAAAC,kBAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,EAAA,EAAA,IAAA,GAAAC,cAAA,IAAA,GAAA,IAAA,GAAAC,cAAA,IAAA,IAAA,IAAA,GAAAC,gBAAA,GAAA,IAAA,IAAA,GAAAC,iBAAA,IAAA,IAAA,IAAA,GAAAC,mBAAA,EAAA,IAAA,IAAA,GAAAC,iBAAA,GAAA,IAAA,IAAA,GAAAC,iBAAA,IAAA,GAAA,IAAA,GAAAC,cAAA,GAAA,GAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,UAAA,IAAA,IAAA,IAAA,GAAAC,aAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,EAAA,EAAA,IAAA,GAAAC,SAAA,IAAA,IAAA,IAAA,GAAAC,OAAA,IAAA,IAAA,EAAA,GAAAC,WAAA,IAAA,IAAA,GAAA,GAAAC,QAAA,IAAA,IAAA,EAAA,GAAAC,WAAA,IAAA,GAAA,EAAA,GAAAC,QAAA,IAAA,IAAA,IAAA,GAAAC,eAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,eAAA,IAAA,IAAA,IAAA,GAAAC,eAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,IAAA,IAAA,GAAA,GAAAC,MAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,IAAA,GAAAC,QAAA,IAAA,EAAA,IAAA,GAAAC,eAAA,IAAA,GAAA,IAAA,GAAAv7C,KAAA,IAAA,EAAA,EAAA,GAAAw7C,WAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,GAAA,IAAA,IAAA,GAAAC,aAAA,IAAA,GAAA,GAAA,GAAAC,QAAA,IAAA,IAAA,IAAA,GAAAC,YAAA,IAAA,IAAA,GAAA,GAAAC,UAAA,GAAA,IAAA,GAAA,GAAAC,UAAA,IAAA,IAAA,IAAA,GAAAC,QAAA,IAAA,GAAA,GAAA,GAAAC,QAAA,IAAA,IAAA,IAAA,GAAAC,SAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,GAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,WAAA,IAAA,IAAA,IAAA,GAAAC,MAAA,IAAA,IAAA,IAAA,GAAAC,aAAA,EAAA,IAAA,IAAA,GAAAC,WAAA,GAAA,IAAA,IAAA,GAAAviE,KAAA,IAAA,IAAA,IAAA,GAAAwiE,MAAA,EAAA,IAAA,IAAA,GAAAC,SAAA,IAAA,IAAA,IAAA,GAAAC,QAAA,IAAA,GAAA,GAAA,GAAAC,WAAA,GAAA,IAAA,IAAA,GAAAC,QAAA,IAAA,IAAA,IAAA,GAAAC,OAAA,IAAA,IAAA,IAAA,GAAAp9C,OAAA,IAAA,IAAA,IAAA,GAAAq9C,YAAA,IAAA,IAAA,IAAA,GAAA78C,QAAA,IAAA,IAAA,EAAA,GAAA88C,aAAA,IAAA,IAAA,GAAA,GAAioH,KAAI/tE,QAAAmlE,cAAAA,cAAoC,MAAAl/D,UACzrK+nE,KAAA,SAAAvkE,QAAAxJ,OAAAD,SACJ,QAAAiuE,KAAA9kE,GAAgB,GAAAlD,GAAAiD,EAAAzH,EAAAP,EAAAkI,EAAAC,CAAgB,cAAAF,IAAiB,IAAA,SAAA,GAAA,OAAAA,EAAA,MAAA,KAAqC,IAAA8T,QAAA9T,GAAA,CAAe,IAAA1H,EAAA,IAAAyH,EAAAC,EAAA7G,OAAA,EAAA2D,EAAA,EAA2BA,EAAAiD,EAAIjD,IAAAxE,GAAAwsE,IAAA9kE,EAAAlD,IAAA,GAAqB,OAAAiD,IAAA,IAAAzH,GAAAwsE,IAAA9kE,EAAAlD,KAAAxE,EAAA,IAAkC,IAAAyH,GAAAhI,EAAAgtE,QAAA/kE,GAAA0I,QAAAvP,OAAAb,EAAA,IAAuC2H,EAAAlI,EAAA+E,EAAA,GAAAoD,EAAAH,EAAA,OAAA,KAAAC,EAAAC,GAAgCnD,EAAAiD,GAAIG,GAAA5H,GAAA,IAAA2H,EAAAklB,QAAA6/C,OAAAC,YAAA,KAAAH,IAAA9kE,EAAAC,IAAAA,EAAAlI,IAAA+E,IAAAoD,EAAApD,EAAAiD,OAAA,KAAAC,EAAAC,MAAA3H,GAAA,OAAA2H,EAAAlI,IAAA+E,GAAAoD,EAAApD,EAAAiD,OAAA,KAAAC,EAAAC,GAAkI,OAAA3H,GAAA,GAAa,KAAA,YAAA,MAAA,KAA4B,KAAA,SAAA,MAAA,IAAA0H,EAAAmlB,QAAA6/C,OAAAC,YAAA,GAAwD,SAAA,MAAAjlE,IAAkB,GAAAuX,aAAeA,SAAAzD,QAAAvD,MAAAuD,SAAA,SAAA9T,GAA6C,MAAA,mBAAAuX,SAAArgB,KAAA8I,IAA0C+kE,QAAArtE,OAAAqY,MAAA,SAAA/P,GAAkC,GAAAlD,KAAS,KAAA,GAAAiD,KAAAC,GAAAA,EAAA5H,eAAA2H,IAAAjD,EAAA1B,KAAA2E,EAA8C,OAAAjD,IAASkoE,OAAA,sBAAAC,WAAA,SAAAjlE,GAAqD,GAAAlD,GAAAkD,EAAA2X,WAAA,EAAsB,QAAA7a,GAAU,IAAA,IAAA,MAAA,KAAoB,KAAA,IAAA,MAAA,MAAqB,KAAA,IAAA,MAAA,KAAoB,KAAA,IAAA,MAAA,KAAoB,KAAA,IAAA,MAAA,KAAoB,KAAA,GAAA,MAAA,KAAmB,KAAA,GAAA,MAAA,KAAmB,SAAA,MAAAA,GAAA,GAAA,QAAAA,EAAAya,SAAA,IAAA,SAAAza,EAAAya,SAAA,KAAqEzgB,QAAAD,QAAA,SAAAmJ,GAA2B,OAAA,KAAAA,EAAA,MAAA,GAAA8kE,IAAA9kE,IAA8BlJ,OAAAD,QAAAquE,aAAAF,OAAAluE,OAAAD,QAAAsuE,cAAAF,gBAC7hCG,KAAA,SAAA9kE,QAAAxJ,OAAAD,SACJ,QAAAwuE,cAAArlE,GAAyB,QAAAA,GAAA,gBAAAA,GAA8B,QAAAslE,WAAAtlE,EAAAlD,GAAwB,IAAA,GAAAoD,IAAA,EAAAH,EAAAC,EAAA7G,SAAwB+G,EAAAH,GAAM,GAAAjD,EAAAkD,EAAAE,GAAAA,EAAAF,GAAA,OAAA,CAAyB,QAAA,EAAS,QAAAulE,aAAAvlE,EAAAlD,EAAAoD,EAAAH,EAAAtI,EAAAM,GAAkC,MAAAiI,KAAAlD,IAAA,MAAAkD,GAAA,MAAAlD,IAAA2oB,SAAAzlB,KAAAqlE,aAAAvoE,GAAAkD,IAAAA,GAAAlD,IAAAA,EAAA0oE,gBAAAxlE,EAAAlD,EAAAyoE,YAAArlE,EAAAH,EAAAtI,EAAAM,IAAuH,QAAAytE,iBAAAxlE,EAAAlD,EAAAoD,EAAAH,EAAAtI,EAAAM,EAAAkI,GAAwC,GAAA7I,GAAA0c,QAAA9T,GAAA1H,EAAAwb,QAAAhX,GAAA/F,EAAA0uE,SAAAnkE,EAAAmkE,QAAoDruE,KAAAL,EAAA2uE,YAAAxuE,KAAA8I,GAAAjJ,GAAA4uE,QAAA5uE,EAAA6uE,UAAA7uE,GAAA6uE,YAAAxuE,EAAAyuE,aAAA7lE,KAAA1H,IAAAgJ,EAAAokE,YAAAxuE,KAAA4F,GAAAwE,GAAAqkE,QAAArkE,EAAAskE,UAAAtkE,GAAAskE,YAAAttE,EAAAutE,aAAA/oE,IAAwK,IAAAuE,GAAAtK,GAAA6uE,UAAA5uE,EAAAsK,GAAAskE,UAAA9lE,EAAA/I,GAAAuK,CAAyC,IAAAxB,IAAA1I,IAAAiK,EAAA,MAAAykE,YAAA9lE,EAAAlD,EAAA/F,EAAsC,KAAAU,EAAA,CAAO,GAAAuJ,GAAAK,GAAAjJ,eAAAlB,KAAA8I,EAAA,eAAAmO,EAAAnX,GAAAoB,eAAAlB,KAAA4F,EAAA,cAAwF,IAAAkE,GAAAmN,EAAA,MAAAjO,GAAAc,EAAAhB,EAAA3I,QAAA2I,EAAAmO,EAAArR,EAAAzF,QAAAyF,EAAAiD,EAAAtI,EAAAM,EAAAkI,GAAsD,IAAAH,EAAA,OAAA,CAAe/H,KAAAA,MAAAkI,IAAAA,KAAoB,KAAA,GAAAsB,GAAAxJ,EAAAoB,OAAmBoI,KAAI,GAAAxJ,EAAAwJ,IAAAvB,EAAA,MAAAC,GAAAsB,IAAAzE,CAA2B/E,GAAAqD,KAAA4E,GAAAC,EAAA7E,KAAA0B,EAAoB,IAAAzE,IAAAjB,EAAA2uE,YAAAC,cAAAhmE,EAAAlD,EAAAoD,EAAAH,EAAAtI,EAAAM,EAAAkI,EAAkD,OAAAlI,GAAAiW,MAAA/N,EAAA+N,MAAA3V,EAAyB,QAAA0tE,aAAA/lE,EAAAlD,EAAAoD,EAAAH,EAAAtI,EAAAM,EAAAkI,GAAoC,GAAA7I,IAAA,EAAAkB,EAAA0H,EAAA7G,OAAApC,EAAA+F,EAAA3D,MAA+B,IAAAb,GAAAvB,KAAAU,GAAAV,EAAAuB,GAAA,OAAA,CAA4B,QAAKlB,EAAAkB,GAAM,CAAE,GAAAgJ,GAAAtB,EAAA5I,GAAAiK,EAAAvE,EAAA1F,GAAAJ,EAAA+I,EAAAA,EAAAtI,EAAA4J,EAAAC,EAAA7J,EAAA6J,EAAAD,EAAAjK,OAAA,EAA8C,QAAA,KAAAJ,EAAA,CAAe,GAAAA,EAAA,QAAc,QAAA,EAAS,GAAAS,GAAM,IAAA6tE,UAAAxoE,EAAA,SAAAkD,GAA4B,MAAAsB,KAAAtB,GAAAE,EAAAoB,EAAAtB,EAAAD,EAAAtI,EAAAM,EAAAkI,KAA6B,OAAA,MAAW,IAAAqB,IAAAD,IAAAnB,EAAAoB,EAAAD,EAAAtB,EAAAtI,EAAAM,EAAAkI,GAAA,OAAA,EAAwC,OAAA,EAAS,QAAA6lE,YAAA9lE,EAAAlD,EAAAoD,GAA2B,OAAAA,GAAU,IAAA+lE,SAAA,IAAAC,SAAA,OAAAlmE,IAAAlD,CAAuC,KAAAqpE,UAAA,MAAAnmE,GAAAzI,MAAAuF,EAAAvF,MAAAyI,EAAAi4D,SAAAn7D,EAAAm7D,OAA0D,KAAAmO,WAAA,MAAApmE,KAAAA,EAAAlD,IAAAA,EAAAkD,IAAAlD,CAAwC,KAAAupE,WAAA,IAAAC,WAAA,MAAAtmE,IAAAlD,EAAA,GAA6C,OAAA,EAAS,QAAAkpE,cAAAhmE,EAAAlD,EAAAoD,EAAAH,EAAAtI,EAAAM,EAAAkI,GAAqC,GAAA7I,GAAA2Y,KAAA/P,GAAA1H,EAAAlB,EAAA+B,MAA8C,IAAAb,GAA9CyX,KAAAjT,GAAA3D,SAA8C1B,EAAA,OAAA,CAAqB,KAAA,GAAA4J,GAAA/I,EAAY+I,KAAI,CAAE,GAAArK,GAAAI,EAAAiK,EAAW,MAAA5J,EAAAT,IAAA8F,GAAA1E,eAAAlB,KAAA4F,EAAA9F,IAAA,OAAA,EAAiD,IAAA,GAAA8I,GAAArI,IAAY4J,EAAA/I,GAAM,CAAS,GAAA0I,GAAAhB,EAAPhJ,EAAAI,EAAAiK,IAAO8M,EAAArR,EAAA9F,GAAAuK,EAAAxB,EAAAA,EAAAtI,EAAA0W,EAAAnN,EAAAvJ,EAAAuJ,EAAAmN,EAAAnX,OAAA,EAA8C,UAAA,KAAAuK,EAAArB,EAAAc,EAAAmN,EAAApO,EAAAtI,EAAAM,EAAAkI,GAAAsB,GAAA,OAAA,CAA2CzB,KAAAA,EAAA,eAAA9I,GAAwB,IAAA8I,EAAA,CAAO,GAAAzH,GAAA2H,EAAAmjB,YAAAtiB,EAAA/D,EAAAqmB,WAAoC,IAAA9qB,GAAAwI,GAAA,eAAAb,IAAA,eAAAlD,MAAA,kBAAAzE,IAAAA,YAAAA,IAAA,kBAAAwI,IAAAA,YAAAA,IAAA,OAAA,EAAsI,OAAA,EAAS,QAAA4kB,UAAAzlB,GAAqB,GAAAlD,SAAAkD,EAAe,SAAAA,IAAA,UAAAlD,GAAA,YAAAA,GAAwC,GAAAgX,SAAAxT,QAAA,kBAAAulE,aAAAvlE,QAAA,uBAAAyP,KAAAzP,QAAA,eAAAqlE,QAAA,qBAAAF,SAAA,iBAAAQ,QAAA,mBAAAC,QAAA,gBAAAC,SAAA,iBAAAC,UAAA,kBAAAR,UAAA,kBAAAS,UAAA,kBAAAC,UAAA,kBAAAC,YAAA7uE,OAAAS,UAAAC,eAAAmuE,YAAAnuE,eAAAstE,YAAAa,YAAAhvD,QAA0czgB,QAAAD,QAAA0uE,cACl/EiB,iBAAA,IAAAC,sBAAA,IAAAC,cAAA,MAAiEC,KAAA,SAAArmE,QAAAxJ,OAAAD,SACpE,QAAA+vE,cAAA7uE,EAAAgI,EAAAC,GAA6B,GAAA,kBAAAjI,GAAA,MAAA0K,SAAwC,QAAA,KAAA1C,EAAA,MAAAhI,EAAuB,QAAAiI,GAAU,IAAA,GAAA,MAAA,UAAAA,GAA0B,MAAAjI,GAAAb,KAAA6I,EAAAC,GAAoB,KAAA,GAAA,MAAA,UAAAA,EAAAlD,EAAAmD,GAA8B,MAAAlI,GAAAb,KAAA6I,EAAAC,EAAAlD,EAAAmD,GAAwB,KAAA,GAAA,MAAA,UAAAD,EAAAlD,EAAAmD,EAAA7I,GAAgC,MAAAW,GAAAb,KAAA6I,EAAAC,EAAAlD,EAAAmD,EAAA7I,GAA0B,KAAA,GAAA,MAAA,UAAA4I,EAAAlD,EAAAmD,EAAA7I,EAAAL,GAAkC,MAAAgB,GAAAb,KAAA6I,EAAAC,EAAAlD,EAAAmD,EAAA7I,EAAAL,IAA4B,MAAA,YAAkB,MAAAgB,GAAAgoB,MAAAhgB,EAAA7G,YAA6B,QAAAuJ,UAAA1K,GAAqB,MAAAA,GAASjB,OAAAD,QAAA+vE,kBAC3YC,KAAA,SAAAvmE,QAAAxJ,OAAAD,SACJ,QAAAwuE,cAAAtlE,GAAyB,QAAAA,GAAA,gBAAAA,GAA8B,QAAA+mE,WAAA/mE,EAAAtI,GAAwB,GAAAqF,GAAA,MAAAiD,MAAA,GAAAA,EAAAtI,EAA0B,OAAAsvE,UAAAjqE,GAAAA,MAAA,GAA4B,QAAAynB,YAAAxkB,GAAuB,MAAA0lB,UAAA1lB,IAAA2lE,YAAAxuE,KAAA6I,IAAAinE,QAAiD,QAAAvhD,UAAA1lB,GAAqB,GAAAtI,SAAAsI,EAAe,SAAAA,IAAA,UAAAtI,GAAA,YAAAA,GAAwC,QAAAsvE,UAAAhnE,GAAqB,MAAA,OAAAA,IAAAwkB,WAAAxkB,GAAAknE,WAAAjgD,KAAAkgD,WAAAhwE,KAAA6I,IAAAslE,aAAAtlE,IAAAonE,aAAAngD,KAAAjnB,IAA0G,GAAAinE,SAAA,oBAAAG,aAAA,8BAAAZ,YAAA7uE,OAAAS,UAAA+uE,WAAAnzD,SAAA5b,UAAAof,SAAAnf,eAAAmuE,YAAAnuE,eAAAstE,YAAAa,YAAAhvD,SAAA0vD,WAAApiD,OAAA,IAAAqiD,WAAAhwE,KAAAkB,gBAAA+sB,QAAA,sBAAyS,QAAAA,QAAA,yDAAA,SAAA,IAA4FruB,QAAAD,QAAAiwE,eACzxBM,KAAA,SAAA9mE,QAAAxJ,OAAAD,SACJ,QAAAwwE,aAAAtnE,GAAwB,MAAAunE,mBAAAvnE,IAAA3H,eAAAlB,KAAA6I,EAAA,aAAAwnE,qBAAArwE,KAAA6I,EAAA,WAAA2lB,eAAAxuB,KAAA6I,IAAA4lE,SAAwI,QAAA6B,aAAAznE,GAAwB,MAAA,OAAAA,GAAA0nE,SAAA1nE,EAAA5G,UAAAorB,WAAAxkB,GAAmD,QAAAunE,mBAAAvnE,GAA8B,MAAAslE,cAAAtlE,IAAAynE,YAAAznE,GAAuC,QAAAwkB,YAAAxkB,GAAuB,GAAAjD,GAAA2oB,SAAA1lB,GAAA2lB,eAAAxuB,KAAA6I,GAAA,EAA4C,OAAAjD,IAAAkqE,SAAAlqE,GAAA4qE,OAA6B,QAAAD,UAAA1nE,GAAqB,MAAA,gBAAAA,IAAAA,GAAA,GAAAA,EAAA,GAAA,GAAAA,GAAA4nE,iBAA4D,QAAAliD,UAAA1lB,GAAqB,GAAAjD,SAAAiD,EAAe,SAAAA,IAAA,UAAAjD,GAAA,YAAAA,GAAwC,QAAAuoE,cAAAtlE,GAAyB,QAAAA,GAAA,gBAAAA,GAA8B,GAAA4nE,kBAAA,iBAAAhC,QAAA,qBAAAqB,QAAA,oBAAAU,OAAA,6BAAAnB,YAAA7uE,OAAAS,UAAAC,eAAAmuE,YAAAnuE,eAAAstB,eAAA6gD,YAAAhvD,SAAAgwD,qBAAAhB,YAAAgB,oBAAoSzwE,QAAAD,QAAAwwE,iBACp4BO,KAAA,SAAAtnE,QAAAxJ,OAAAD,SACJ,QAAAwuE,cAAAtlE,GAAyB,QAAAA,GAAA,gBAAAA,GAA4G,QAAA0nE,UAAA1nE,GAAqB,MAAA,gBAAAA,IAAAA,GAAA,GAAAA,EAAA,GAAA,GAAAA,GAAA4nE,iBAA4D,QAAApjD,YAAAxkB,GAAuB,MAAA0lB,UAAA1lB,IAAA2lE,YAAAxuE,KAAA6I,IAAAinE,QAAiD,QAAAvhD,UAAA1lB,GAAqB,GAAAC,SAAAD,EAAe,SAAAA,IAAA,UAAAC,GAAA,YAAAA,GAAwC,QAAA+mE,UAAAhnE,GAAqB,MAAA,OAAAA,IAAAwkB,WAAAxkB,GAAAknE,WAAAjgD,KAAAkgD,WAAAhwE,KAAA6I,IAAAslE,aAAAtlE,IAAAonE,aAAAngD,KAAAjnB,IAA0G,GAAAinE,SAAA,oBAAAG,aAAA,8BAAAZ,YAAA7uE,OAAAS,UAAA+uE,WAAAnzD,SAAA5b,UAAAof,SAAAnf,eAAAmuE,YAAAnuE,eAAAstE,YAAAa,YAAAhvD,SAAA0vD,WAAApiD,OAAA,IAAAqiD,WAAAhwE,KAAAkB,gBAAA+sB,QAAA,sBAAmU,QAAAA,QAAA,yDAAA,SAAA,KAAAwiD,iBAAA,iBAAA7zD,QAArvB,SAAA/T,EAAAC,GAAwB,GAAAlD,GAAA,MAAAiD,MAAA,GAAAA,EAAAC,EAA0B,OAAA+mE,UAAAjqE,GAAAA,MAAA,IAAmsByT,MAAA,YAAA,SAAAxQ,GAA0M,MAAAslE,cAAAtlE,IAAA0nE,SAAA1nE,EAAA5G,SAA7gB,kBAA6gBusE,YAAAxuE,KAAA6I,GAA2EjJ,QAAAD,QAAAid,aAC7jC+zD,KAAA,SAAAvnE,QAAAxJ,OAAAD,SACJ,QAAA4/D,SAAAv2D,EAAAlJ,EAAAD,EAAA+F,GAA4E,GAAAxE,IAAlDvB,EAAA,kBAAAA,GAAA6vE,aAAA7vE,EAAA+F,EAAA,OAAA,IAAkD/F,EAAAmJ,EAAAlJ,OAAA,EAAsB,YAAA,KAAAsB,EAAAitE,YAAArlE,EAAAlJ,EAAAD,KAAAuB,EAAyC,GAAAitE,aAAAjlE,QAAA,uBAAAsmE,aAAAtmE,QAAA,uBAA4FxJ,QAAAD,QAAA4/D,UACpOqR,sBAAA,IAAAC,uBAAA,MAAqDC,KAAA,SAAA1nE,QAAAxJ,OAAAD,SACxD,QAAA4wE,UAAAvnE,GAAqB,MAAA,gBAAAA,IAAAA,GAAA,GAAAA,EAAA,GAAA,GAAAA,GAAAynE,iBAA4D,QAAAtC,cAAAnlE,GAAyB,QAAAA,GAAA,gBAAAA,GAA8B,QAAA2lE,cAAA3lE,GAAyB,MAAAmlE,cAAAnlE,IAAAunE,SAAAvnE,EAAA/G,WAAA8uE,eAAAviD,eAAAxuB,KAAAgJ,IAAqF,GAAAynE,kBAAA,iBAAAM,iBAAuwBA,gBAAvwB,yBAAuwBA,eAAvwB,yBAAuwBA,eAAvwB,sBAAuwBA,eAAvwB,uBAAuwBA,eAAvwB,uBAAuwBA,eAAvwB,uBAAuwBA,eAAvwB,8BAAuwBA,eAAvwB,wBAAuwBA,eAAvwB,yBAAuwB,EAAAA,eAAvwB,sBAAuwBA,eAAvwB,kBAAuwBA,eAAvwB,wBAAuwBA,eAAvwB,oBAAuwBA,eAAvwB,qBAAuwBA,eAAvwB,iBAAuwBA,eAAvwB,kBAAuwBA,eAAvwB,qBAAuwBA,eAAvwB,gBAAuwBA,eAAvwB,mBAAuwBA,eAAvwB,mBAAuwBA,eAAvwB,mBAAuwBA,eAAvwB,gBAAuwBA,eAAvwB,mBAAuwBA,eAAvwB,qBAAuwB,CAAinB,IAAAviD,gBAAAhuB,OAAAS,UAAAof,QAAqEzgB,QAAAD,QAAAgvE,kBAC/qDqC,KAAA,SAAA5nE,QAAAxJ,OAAAD,SACoE,QAAA2wE,aAAA1qE,GAAwB,MAAA,OAAAA,GAAA2qE,SAAAU,UAAArrE,IAAuC,QAAAsrE,SAAAtrE,EAAAiD,GAAsB,MAAAjD,GAAA,gBAAAA,IAAAurE,SAAArhD,KAAAlqB,IAAAA,GAAA,EAAAiD,EAAA,MAAAA,EAAA4nE,iBAAA5nE,EAAAjD,GAAA,GAAAA,EAAA,GAAA,GAAAA,EAAAiD,EAAmG,QAAA0nE,UAAA3qE,GAAqB,MAAA,gBAAAA,IAAAA,GAAA,GAAAA,EAAA,GAAA,GAAAA,GAAA6qE,iBAA4D,QAAAW,UAAAxrE,GAAqB,IAAA,GAAAiD,GAAAwoE,OAAAzrE,GAAAkD,EAAAD,EAAA5G,OAAApB,EAAAiI,GAAAlD,EAAA3D,OAAAb,IAAAP,GAAA0vE,SAAA1vE,KAAA+b,QAAAhX,IAAAuqE,YAAAvqE,IAAArF,GAAA,EAAAV,OAAwGU,EAAAuI,GAAM,CAAE,GAAAC,GAAAF,EAAAtI,IAAWa,GAAA8vE,QAAAnoE,EAAAlI,IAAAK,eAAAlB,KAAA4F,EAAAmD,KAAAlJ,EAAAqE,KAAA6E,GAAuD,MAAAlJ,GAAS,QAAA0uB,UAAA3oB,GAAqB,GAAAiD,SAAAjD,EAAe,SAAAA,IAAA,UAAAiD,GAAA,YAAAA,GAAwC,QAAAwoE,QAAAzrE,GAAmB,GAAA,MAAAA,EAAA,QAAoB2oB,UAAA3oB,KAAAA,EAAApF,OAAAoF,GAA2B,IAAAiD,GAAAjD,EAAA3D,MAAe4G,GAAAA,GAAA0nE,SAAA1nE,KAAA+T,QAAAhX,IAAAuqE,YAAAvqE,KAAAiD,GAAA,CAAqD,KAAA,GAAAC,GAAAlD,EAAAqmB,YAAAprB,GAAA,EAAAO,EAAA,kBAAA0H,IAAAA,EAAA7H,YAAA2E,EAAArF,EAAA8Y,MAAAxQ,GAAAhJ,EAAAgJ,EAAA,IAAsFhI,EAAAgI,GAAMtI,EAAAM,GAAAA,EAAA,EAAW,KAAA,GAAAkI,KAAAnD,GAAA/F,GAAAqxE,QAAAnoE,EAAAF,IAAA,eAAAE,IAAA3H,IAAAF,eAAAlB,KAAA4F,EAAAmD,KAAAxI,EAAA2D,KAAA6E,EAA4F,OAAAxI,GAAS,GAAAqvE,WAAAxmE,QAAA,qBAAA+mE,YAAA/mE,QAAA,sBAAAwT,QAAAxT,QAAA,kBAAA+nE,SAAA,QAAAjwE,eAAAV,OAAAS,UAAAC,eAAAowE,WAAA1B,UAAApvE,OAAA,QAAAiwE,iBAAA,iBAAAQ,UAA/7B,SAAArrE,GAAyB,MAAA,UAAAiD,GAAmB,MAAA,OAAAA,MAAA,GAAAA,EAAAjD,KAAm5B,UAAAiT,KAAAy4D,WAAA,SAAA1rE,GAAkV,GAAAiD,GAAA,MAAAjD,MAAA,GAAAA,EAAAqmB,WAAmC,OAAA,kBAAApjB,IAAAA,EAAA5H,YAAA2E,GAAA,kBAAAA,IAAA0qE,YAAA1qE,GAAAwrE,SAAAxrE,GAAA2oB,SAAA3oB,GAAA0rE,WAAA1rE,OAA2HwrE,QAAUxxE,QAAAD,QAAAkZ,OACt7C04D,oBAAA,IAAAC,qBAAA,IAAAlC,iBAAA,MAAsEmC,KAAA,SAAAroE,QAAAxJ,OAAAD,SACzE,YAAaC,QAAAD,QAAAyJ,QAAA,eACVsoE,YAAA,MAAgBC,KAAA,SAAAvoE,QAAAxJ,OAAAD,SACnBC,OAAAD,SAAgBiyE,SAAA,EAAAC,OAAsBziE,SAAW0iE,UAAA,EAAAnvE,KAAA,OAAA6wB,QAAA,IAA2CnzB,MAASsC,KAAA,UAAgBovE,UAAapvE,KAAA,KAAWgC,QAAWhC,KAAA,QAAAxC,MAAA,UAAgCyE,MAASjC,KAAA,UAAgBumC,SAAYvmC,KAAA,SAAAoB,QAAA,EAAAiuE,OAAA,IAAAC,MAAA,WAA2DnjC,OAAUnsC,KAAA,SAAAoB,QAAA,EAAAkuE,MAAA,WAA8C72B,OAAUz4C,KAAA,SAAeizB,SAAYk8C,UAAA,EAAAnvE,KAAA,WAAiCk/C,QAAWl/C,KAAA,UAAgB49D,QAAW59D,KAAA,UAAgB89D,YAAe99D,KAAA,cAAoBkvB,QAAWigD,UAAA,EAAAnvE,KAAA,QAAAxC,MAAA,UAAgDy1B,SAAY6hB,KAAK90C,KAAA,WAAiB4C,QAAA,cAAA,iBAAA,eAAA,eAAA,iBAAA2sE,aAAwGvvE,MAAQmvE,UAAA,EAAAnvE,KAAA,OAAA6wB,QAAwCsiC,UAAWtQ,YAAciK,KAAQ9sD,KAAA,UAAgB8S,OAAU9S,KAAA,QAAAxC,MAAA,UAAgC4vC,SAAYptC,KAAA,SAAAoB,QAAA,GAA4BisC,SAAYrtC,KAAA,SAAAoB,QAAA,IAA6B8kC,UAAalmC,KAAA,SAAAoB,QAAA,IAAAkuE,MAAA,UAA+Cx6B,KAAM90C,KAAA,MAAYwvE,gBAAmBxvE,MAAQmvE,UAAA,EAAAnvE,KAAA,OAAA6wB,QAAwCuiC,aAActzD,MAASE,KAAA,KAAWqtC,SAAYrtC,KAAA,SAAAoB,QAAA,IAA6BiS,QAAWrT,KAAA,SAAAoB,QAAA,IAAAquE,QAAA,IAAAC,QAAA,GAAwD98D,WAAc5S,KAAA,SAAAoB,QAAA,MAAgC2mB,SAAY/nB,KAAA,UAAAoB,SAAA,GAAiCqrD,eAAkBzsD,KAAA,SAAAoB,QAAA,GAAAsuE,QAAA,GAAyCljB,gBAAmBxsD,KAAA,WAAiB2vE,cAAiB3vE,MAAQmvE,UAAA,EAAAnvE,KAAA,OAAA6wB,QAAwCwiC,WAAYtD,MAASof,UAAA,EAAAnvE,KAAA,QAAAxC,MAAA,UAAgD2C,aAAgBgvE,UAAA,EAAAnvE,KAAA,QAAAV,OAAA,EAAA9B,OAAmDwC,KAAA,QAAAV,OAAA,EAAA9B,MAAA,YAA6CoyE,cAAiB5vE,MAAQmvE,UAAA,EAAAnvE,KAAA,OAAA6wB,QAAwCu+B,WAAYtC,KAAQqiB,UAAA,EAAAnvE,KAAA,UAAgCG,aAAgBgvE,UAAA,EAAAnvE,KAAA,QAAAV,OAAA,EAAA9B,OAAmDwC,KAAA,QAAAV,OAAA,EAAA9B,MAAA,YAA6CqyE,eAAkB7vE,MAAQmvE,UAAA,EAAAnvE,KAAA,OAAA6wB,QAAwCm6B,YAAa7qD,aAAgBgvE,UAAA,EAAAnvE,KAAA,QAAAV,OAAA,EAAA9B,OAAmDwC,KAAA,QAAAV,OAAA,EAAA9B,MAAA,WAA4CutD,SAAY/qD,KAAA,UAAAoB,QAAA,QAAkC4pD,QAAWhrD,KAAA,SAAAmvE,UAAA,IAAiC/rE,OAAUvD,IAAMG,KAAA,SAAAmvE,UAAA,GAAgCnvE,MAASA,KAAA,OAAA6wB,QAAwBpH,QAASk5B,QAAUF,UAAYC,UAAYE,oBAAoBC,UAAYC,gBAAkBssB,UAAapvE,KAAA,KAAW4K,KAAQ5K,KAAA,UAAgB4C,QAAW5C,KAAA,UAAgB8vE,gBAAiB9vE,KAAA,UAAgBotC,SAAYptC,KAAA,SAAA0vE,QAAA,EAAAD,QAAA,IAAyCpiC,SAAYrtC,KAAA,SAAA0vE,QAAA,EAAAD,QAAA,IAAyC/1D,QAAW1Z,KAAA,UAAgB6C,QAAW7C,KAAA,UAAgB+wC,OAAU/wC,KAAA,SAAe+vE,WAAY/vE,KAAA,UAAgB6C,QAAA,cAAA,cAAA,gBAAA,wBAAA,gBAAA,gBAAA,qBAAAmtE,mBAAyJjU,YAAc/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsB+uE,aAAgBpU,YAAc/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsBgvE,eAAkBrU,YAAc/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsBivE,yBAA0BtU,YAAc/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsBkvE,aAAgBC,YAAYvwE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6E4/C,QAASn7D,SAAWo7D,WAAatvE,QAAA,QAAkBuvE,aAAc3wE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6E+/C,SAAUt7D,SAAWu7D,UAAYzvE,QAAA,SAAmB0vE,oBAAqB9wE,KAAA,SAAAoB,QAAA,EAAAq/D,SAAA,eAAA+P,iBAAA,EAAAO,WAAwFJ,YAAA,WAAsBK,oBAAqBhxE,KAAA,SAAAoB,QAAA,KAAAq/D,SAAA,eAAA+P,iBAAA,EAAAO,WAA2FJ,YAAA,WAAsB5U,YAAe/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsB6vE,eAAkBC,oBAAoBlxE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6E1tB,SAAUw/C,SAAWvhD,QAAA,SAAmB+vE,kBAAmBnxE,KAAA,SAAAoB,QAAA,IAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAlB,MAAA,SAAAyB,WAAuHG,mBAAA,UAA4BE,sBAAuBpxE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,GAAsFiwE,sBAAuBrxE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,eAAgHO,yBAA0BtxE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,eAAgHQ,iBAAkBvxE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,aAAA,eAA6HS,2BAA4BxxE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,YAAcwuB,SAAWrwE,QAAA,OAAA2vE,UAAA,eAA4CW,aAAc1xE,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAZ,UAAA,eAA0Ia,iBAAkB5xE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6Eq/C,QAAShmE,SAAWC,UAAY0nE,SAAWzwE,QAAA,OAAA2vE,UAAA,aAAA,eAAyDe,yBAA0B9xE,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,EAAA,EAAA,GAAAkuE,MAAA,SAAA7O,SAAA,eAAA+P,iBAAA,EAAAO,UAAA,aAAA,cAAsKa,iBAAA,OAAA,QAAA,aAA4C9uE,cAAe9C,KAAA,SAAAygE,SAAA,qBAAA+P,iBAAA,EAAAmB,qBAAA,EAAAI,QAAA,GAA4GC,eAAgBhyE,KAAA,SAAAoB,QAAA,EAAAiuE,OAAA,IAAA5O,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAArC,MAAA,UAAAyB,UAAA,eAA6JkB,gBAAiBjyE,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAlB,MAAA,SAAAyB,UAAA,eAAkImB,qBAAsBlyE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,cAAgHS,0BAAA,QAAkCN,mBAAA,UAA4BiB,eAAgBnyE,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAZ,UAAA,eAA6JqB,wBAAyBpyE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,YAAcwuB,SAAWrwE,QAAA,OAAA2vE,UAAA,eAA4CsB,2BAA4BryE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,YAAcwuB,SAAWrwE,QAAA,OAAA2vE,UAAA,eAA4ChuE,cAAe/C,KAAA,SAAAygE,SAAA,qBAAA+P,iBAAA,EAAAmB,qBAAA,EAAAvwE,QAAA,GAAA2wE,QAAA,GAAyHO,aAActyE,KAAA,QAAAxC,MAAA,SAAAijE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,oBAAA,4BAAA2vE,UAAA,eAA0KwB,aAAcvyE,KAAA,SAAAoB,QAAA,GAAAsuE,QAAA,EAAAJ,MAAA,SAAA7O,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAZ,UAAA,eAA4JyB,kBAAmBxyE,KAAA,SAAAoB,QAAA,GAAAsuE,QAAA,EAAAJ,MAAA,MAAA7O,SAAA,eAAA+P,iBAAA,EAAAO,UAAA,eAAgI0B,oBAAqBzyE,KAAA,SAAAoB,QAAA,IAAAkuE,MAAA,MAAA7O,SAAA,eAAA+P,iBAAA,EAAAO,UAAA,eAAqH2B,uBAAwB1yE,KAAA,SAAAoB,QAAA,EAAAkuE,MAAA,MAAA7O,SAAA,eAAA+P,iBAAA,EAAAO,UAAA,eAAmH4B,gBAAiB3yE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6E+hD,QAAS5wE,UAAY6wE,UAAYzxE,QAAA,SAAA2vE,UAAA,eAA8C+B,eAAgB9yE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6E7uB,UAAW4wE,QAAUC,SAAWE,OAASC,UAAYC,cAAcC,eAAeC,iBAAiBC,mBAAmBhyE,QAAA,SAAA2vE,UAAA,eAA8CsC,kBAAmBrzE,KAAA,SAAAoB,QAAA,GAAAkuE,MAAA,UAAA7O,SAAA,eAAA+P,iBAAA,EAAAO,UAAA,cAAwHG,mBAAA,UAA4BoC,eAAgBtzE,KAAA,SAAAoB,QAAA,EAAAiuE,OAAA,IAAAC,MAAA,UAAA7O,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAZ,UAAA,eAA6JwC,gBAAiBvzE,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAJ,MAAA,SAAA7O,SAAA,eAAA+P,iBAAA,EAAAO,UAAA,eAAkIyC,qBAAsBxzE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,cAA+GsB,0BAAA,QAAkCnB,mBAAA,UAA4BuC,kBAAmBzzE,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAAmB,qBAAA,EAAA9gD,QAAsGq/C,QAASwD,aAAeC,cAAgBvyE,QAAA,OAAA2vE,UAAA,eAA4C/tE,eAAgBhD,KAAA,QAAAxC,MAAA,SAAA8xE,MAAA,MAAA7O,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAryE,OAAA,EAAA8B,SAAA,EAAA,GAAA2vE,UAAA,eAA2K6C,sBAAuB5zE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,eAAgH8C,yBAA0B7zE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,eAAgH+C,iBAAkB9zE,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,EAAA2vE,UAAA,aAAA,eAA6HhV,YAAe/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsB2yE,eAAkBhY,YAAc/7D,KAAA,OAAA6wB,QAAwBo/C,WAAYC,SAAW9uE,QAAA,YAAsBsY,QAAW1Z,KAAA,QAAAxC,MAAA,KAA2Bw2E,iBAAoBh0E,KAAA,OAAA6wB,QAAwBojD,QAAOC,QAAQz+B,OAAO0+B,QAAQ5+B,OAAO6+B,QAAQC,MAAQC,SAASC,OAASC,OAAStE,QAAUta,OAAS6e,YAAYC,eAAkB10E,KAAA,OAAA6wB,QAAwBvN,SAAUuP,cAAgBC,aAAe2tC,UAAaD,OAASxgE,KAAA,QAAAxC,MAAA,iBAAuCq+B,MAAS77B,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,GAAwCrxE,UAAa2B,KAAA,SAAAoB,QAAA,SAAkCpB,MAASA,KAAA,OAAA6wB,QAAwBjoB,YAAa+rE,eAAiBC,YAAcC,gBAAkBzzE,QAAA,eAAyB2/D,YAAe/gE,KAAA,OAAA6wB,QAAwBikD,OAAQ7U,OAASE,QAAU/+D,QAAA,OAAiBA,SAAYpB,KAAA,IAAAmvE,UAAA,IAA6B4F,eAAkB/0E,KAAA,QAAA0vE,QAAA,EAAAD,QAAA,GAAAjyE,OAAA,SAAA,SAAA8B,OAAA,GAA8Em5C,OAAU3Z,QAAU9+B,KAAA,OAAAoB,QAAA,WAAAyvB,QAA6ClvB,OAAQshD,aAAe6a,YAAA,GAAoB1+D,UAAaY,KAAA,QAAAoB,SAAA,KAAA,IAAA,IAAA9B,OAAA,EAAA9B,MAAA,SAAAsgE,YAAA,EAAA2C,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,GAA8J34B,OAAUh5C,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,GAA8HhlB,WAAc94C,KAAA,SAAAoB,QAAA,GAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,IAAkJ/sB,OAAA,aAAA,aAAA,eAAA,uBAAA,eAAA,eAAA,oBAAAikC,YAA0IC,kBAAkBj1E,KAAA,UAAAygE,SAAA,qBAAA+P,iBAAA,EAAApvE,SAAA,GAAqF8zE,gBAAiBl1E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAvwE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAA3R,YAAA,GAA8IqX,cAAen1E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,WAA0I18B,IAAA,kBAAqB+gC,sBAAuBp1E,KAAA,QAAAygE,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,WAAsH18B,IAAA,iBAAqB4gC,kBAAA,KAAwBI,kBAAmBr1E,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,UAA6IgG,yBAA0Bt1E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,MAAA2vE,UAAA,mBAA+CwE,gBAAiBv1E,KAAA,SAAAygE,SAAA,qBAAA+P,iBAAA,EAAA1S,YAAA,IAAwF0X,wBAAyBC,0BAA0Bz1E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAvwE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAA3R,YAAA,GAA+I4X,wBAAyB11E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,WAA0I18B,IAAA,4BAA+BshC,4BAA6B31E,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,UAA6IsG,mCAAoC51E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,MAAA2vE,UAAA,6BAAyD8E,0BAA2B71E,KAAA,SAAAygE,SAAA,qBAAA+P,iBAAA,EAAA1S,YAAA,GAAuFgY,yBAA0B91E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAvwE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,MAAAH,MAAA,SAAAxR,YAAA,GAAmKiY,uBAAwB/1E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAvwE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,MAAAH,MAAA,SAAAxR,YAAA,EAAAiT,UAAA,2BAAyMiF,YAAeC,gBAAgBj2E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAAvwE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAA3R,YAAA,GAA8IoY,cAAel2E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,WAA0I18B,IAAA,kBAAqB8hC,kBAAmBn2E,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,UAA6I8G,yBAA0Bp2E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,MAAA2vE,UAAA,mBAA+CsF,cAAer2E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,UAA0HgH,kBAAmBt2E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,UAAmJiH,eAAgBv2E,KAAA,SAAAoB,QAAA,EAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,UAAuIkH,aAAcx2E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,UAAmJmH,kBAAmBz2E,KAAA,QAAAxC,MAAA,SAAAijE,SAAA,qBAAA+P,iBAAA,EAAAd,QAAA,EAAA5R,YAAA,EAAAwR,MAAA,cAAAyB,WAAsJ18B,IAAA,kBAAqBqiC,gBAAiB12E,KAAA,SAAAygE,SAAA,qBAAA+P,iBAAA,EAAA1S,YAAA,IAAwF6Y,cAAiBC,iBAAiB52E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,UAAmJuH,gBAAiB72E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,GAA6HgZ,eAAgB92E,KAAA,SAAAoB,QAAA,EAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,GAAsHiZ,kBAAmB/2E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,GAA8IkZ,oBAAqBh3E,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,UAA6I2H,2BAA4Bj3E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,MAAA2vE,UAAA,qBAAiDmG,sBAAuBl3E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,OAAiB+1E,uBAAwBn3E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,UAAmJ8H,uBAAwBp3E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,GAA6HuZ,yBAA0Br3E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,IAA+IwZ,cAAiBC,gBAAgBv3E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,UAAA,eAAwKyG,cAAex3E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,UAAA,eAAuJ0G,mBAAoBz3E,KAAA,QAAAoB,QAAA,mBAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,UAAA,eAAgK2G,mBAAoB13E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,SAAAyB,UAAA,eAA6K4G,kBAAmB33E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,SAAAyB,UAAA,eAA6K6G,kBAAmB53E,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,SAAAyB,UAAA,eAAuK8G,yBAA0B73E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,MAAA2vE,UAAA,aAAA,mBAA4D+G,gBAAiB93E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,UAAA,eAAwKgH,cAAe/3E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,UAAA,eAAuJiH,mBAAoBh4E,KAAA,QAAAoB,QAAA,mBAAAq/D,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAiT,UAAA,eAAgKkH,mBAAoBj4E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,SAAAyB,UAAA,eAA6KmH,kBAAmBl4E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAAmB,qBAAA,EAAA7T,YAAA,EAAAwR,MAAA,SAAAyB,UAAA,eAA6KoH,kBAAmBn4E,KAAA,QAAAxC,MAAA,SAAA8B,OAAA,EAAA8B,SAAA,EAAA,GAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,SAAAyB,UAAA,eAAuKqH,yBAA0Bp4E,KAAA,OAAAygE,SAAA,qBAAA+P,iBAAA,EAAA3/C,QAA6ElvB,OAAQshD,aAAe7hD,QAAA,MAAA2vE,UAAA,aAAA,oBAA6DsH,cAAiBC,kBAAkBt4E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,GAAqHya,qBAAsBv4E,KAAA,SAAAoB,QAAA,EAAAiuE,OAAA,IAAA5O,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,WAA4HkJ,yBAA0Bx4E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAApvE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAA3R,YAAA,GAAqH2a,yBAA0Bz4E,KAAA,SAAAygE,SAAA,eAAA+P,iBAAA,EAAApvE,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAA3R,YAAA,GAAqH4a,qBAAsB14E,KAAA,SAAAoB,QAAA,EAAAsuE,SAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,GAAsH6a,mBAAoB34E,KAAA,SAAAoB,QAAA,EAAAsuE,SAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,GAAsH8a,wBAAyB54E,KAAA,SAAAoB,QAAA,IAAAsuE,QAAA,EAAAjP,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAwR,MAAA,iBAAmIuJ,kBAAqBC,oBAAoB94E,KAAA,QAAAoB,QAAA,UAAAq/D,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,EAAAiT,WAAiH18B,IAAA,wBAA2B0kC,sBAAuB/4E,KAAA,SAAAygE,SAAA,qBAAA+P,iBAAA,EAAA1S,YAAA,GAAuFkb,sBAAuBh5E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAD,QAAA,EAAAhP,SAAA,eAAA+P,iBAAA,EAAA1S,YAAA,IAAsHA,YAAezY,UAAYrlD,KAAA,SAAAoB,QAAA,IAAAsuE,QAAA,EAAAJ,MAAA,gBAAiE2J,OAAUj5E,KAAA,SAAAoB,QAAA,EAAAsuE,QAAA,EAAAJ,MAAA,uBACryoB4J,KAAA,SAAAzyE,QAAAxJ,OAAAD,SACJ,YAAaC,QAAAD,QAAA,SAAAmJ,GAA2B,IAAA,GAAAD,GAAA7G,UAAA4D,EAAA,EAAwBA,EAAA5D,UAAAC,OAAmB2D,IAAA,CAAK,GAAA/E,GAAAgI,EAAAjD,EAAW,KAAA,GAAArF,KAAAM,GAAAiI,EAAAvI,GAAAM,EAAAN,GAAyB,MAAAuI,SACxHgzE,KAAA,SAAA1yE,QAAAxJ,OAAAD,SACJ,YAAaC,QAAAD,QAAA,SAAAkB,GAA2B,MAAAA,aAAAsuB,QAAA,SAAAtuB,YAAAigB,QAAA,SAAAjgB,YAAAojB,SAAA,UAAA5K,MAAAuD,QAAA/b,GAAA,QAAA,OAAAA,EAAA,aAAAA,SACpCk7E,KAAA,SAAA3yE,QAAAxJ,OAAAD,SACJ,YAAa,SAAAmkE,aAAAj7D,EAAAjD,EAAA/E,GAA4B,MAAAgI,IAAA,EAAAhI,GAAA+E,EAAA/E,EAAmBjB,OAAAD,QAAAmkE,YAAAA,YAAAhzC,OAAAgzC,YAAAA,YAAAkY,KAAA,SAAAnzE,EAAAjD,EAAA/E,GAA2F,OAAAijE,YAAAj7D,EAAA,GAAAjD,EAAA,GAAA/E,GAAAijE,YAAAj7D,EAAA,GAAAjD,EAAA,GAAA/E,KAA0DijE,YAAAnoB,MAAA,SAAA9yC,EAAAjD,EAAA/E,GAAmC,OAAAijE,YAAAj7D,EAAA,GAAAjD,EAAA,GAAA/E,GAAAijE,YAAAj7D,EAAA,GAAAjD,EAAA,GAAA/E,GAAAijE,YAAAj7D,EAAA,GAAAjD,EAAA,GAAA/E,GAAAijE,YAAAj7D,EAAA,GAAAjD,EAAA,GAAA/E,KAA4GijE,YAAAp7C,MAAA,SAAA7f,EAAAjD,EAAA/E,GAAmC,MAAAgI,GAAAvE,IAAA,SAAAuE,EAAAC,GAA2B,MAAAg7D,aAAAj7D,EAAAjD,EAAAkD,GAAAjI,WAC1Zo7E,KAAA,SAAA7yE,QAAAxJ,OAAAD,SACJ,YAAa,IAAAu8E,kBAAA9yE,QAAA,kBAAA07D,aAA6DllE,QAAAD,QAAA,SAAAmJ,GAA2B,GAAA,gBAAAA,GAAA,CAAuB,GAAAlD,GAAAs2E,iBAAApzE,EAA0B,KAAAlD,EAAA,MAAa,QAAAA,EAAA,GAAA,IAAAA,EAAA,GAAAA,EAAA,GAAA,IAAAA,EAAA,GAAAA,EAAA,GAAA,IAAAA,EAAA,GAAAA,EAAA,IAAuD,MAAAyT,OAAAuD,QAAA9T,GAAAA,MAAA,MACvNqzE,eAAA,MAAqBC,KAAA,SAAAhzE,QAAAxJ,OAAAD,SACxB,YAAaC,QAAAD,SAAA,OAAA,SAAA,eAAA,UAAA,UAAA,SAAA,eACT08E,KAAA,SAAAjzE,QAAAxJ,OAAAD,SACJ,YAAaC,QAAAD,QAAA,SAAAkB,GAA2B,MAAAA,aAAAsuB,SAAAtuB,YAAAigB,SAAAjgB,YAAAojB,SAAApjB,EAAAy7E,UAAAz7E,QACpC07E,KAAA,SAAAnzE,QAAAxJ,OAAAD,SACJ,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,oBAAA1C,OAAA0C,QAAA,iBAA8HxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,GAAAM,QAAA,uBAAAP,EAAAO,QAAA,qBAAAvJ,GAAuE43C,IAAA,WAAe,UAAS/uB,MAAAtf,QAAA,oBAAA2nB,QAAA3nB,QAAA,sBAAA0nB,OAAA1nB,QAAA,qBAAAuyC,MAAAvyC,QAAA,oBAAAozE,UAAApzE,QAAA,wBAAAqzE,KAAArzE,QAAA,mBAAAiT,OAAAjT,QAAA,qBAAAg6D,SAAAh6D,QAAA,uBAAArD,MAAAqD,QAAA,oBAAArI,OAAAqI,QAAA,qBAAA7D,OAAA6D,QAAA,qBAAAgyC,MAAAhyC,QAAA,oBAAArC,OAAAqC,QAAA,sBAAqdJ,EAAApD,EAAAzF,MAAAU,EAAA+E,EAAA82E,UAAA3zE,EAAAnD,EAAA+tB,IAAApzB,EAAAqF,EAAA+2E,UAAA78E,EAAA8F,EAAAlB,KAAyD,IAAA,WAAAwxD,QAAAltD,IAAA,MAAAA,EAAA,GAAA,CAAsC,GAAAzI,EAAAqxE,SAAA,EAAA,OAAA,GAAA9Q,iBAAA/3D,EAAAC,EAAA,2CAA2F,MAAAA,IAAAlJ,GAAA08E,WAAA,OAAA,GAAA1b,iBAAA/3D,EAAAC,EAAA,0BAAAA,GAAoFpD,GAAAc,UAAWd,GAAIzF,MAAAL,EAAA08E,UAAAxzE,KAAuB,MAAAnI,GAAAuiE,UAAA,WAAAlN,QAAAltD,GAAAF,EAAAlD,GAAA/E,EAAA8B,MAAA9C,EAAAgB,EAAA8B,MAAA9C,EAAAgB,EAAA8B,MAAAiD,GAAAiD,EAAAnC,UAAwFd,GAAI82E,UAAA77E,EAAA8B,KAAApC,EAAAM,EAAA8B,MAAA9B,QACvmC+7E,4BAAA,IAAA7Y,iBAAA,IAAAC,mBAAA,IAAA6Y,mBAAA,IAAAC,qBAAA,IAAAC,mBAAA,IAAAC,uBAAA,IAAAC,kBAAA,IAAAC,oBAAA,IAAAC,sBAAA,IAAAC,mBAAA,IAAAC,mBAAA,IAAAC,oBAAA,IAAAC,oBAAA,IAAAC,oBAAA,IAAAC,oBAAA,MAAoYC,KAAA,SAAAt0E,QAAAxJ,OAAAD,SACvY,YAAa,IAAAu2D,SAAA9sD,QAAA,oBAAAu0E,SAAAv0E,QAAA,cAAA03D,gBAAA13D,QAAA,4BAA4HxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,GAAAlD,EAAAzF,MAAA0I,EAAAjD,EAAA82E,UAAA1zE,EAAApD,EAAAlB,MAAA7D,EAAA+E,EAAA+2E,UAAA78E,EAAA8F,EAAA+tB,IAAA9zB,EAAA+F,EAAAg4E,uBAAAD,QAAgG,IAAA,UAAAznB,QAAAptD,GAAA,OAAA,GAAAg4D,iBAAAhhE,EAAAgJ,EAAA,2BAAAotD,QAAAptD,IAA+F,IAAAD,EAAA5G,QAAA6G,EAAA7G,SAAA4G,EAAA5G,OAAA,OAAA,GAAA6+D,iBAAAhhE,EAAAgJ,EAAA,4CAAAD,EAAA5G,OAAA6G,EAAA7G,QAAgI,IAAA4G,EAAA,eAAAC,EAAA7G,OAAA4G,EAAA,cAAA,OAAA,GAAAi4D,iBAAAhhE,EAAAgJ,EAAA,qDAAAD,EAAA,cAAAC,EAAA7G,QAA4J,IAAA1B,IAAOoC,KAAAkG,EAAA1I,MAAcU,GAAA+wE,SAAA,IAAArxE,EAAA6iE,SAAAv6D,EAAAu6D,UAAA,WAAAlN,QAAArtD,EAAA1I,SAAAI,EAAAsI,EAAA1I,MAA+E,KAAA,GAAA4I,MAAA3I,EAAA,EAAiBA,EAAA0I,EAAA7G,OAAW7B,IAAA2I,EAAAA,EAAA6D,OAAA/M,GAAkB6oB,MAAA5f,EAAA+0E,WAAAz9E,EAAAD,MAAA2I,EAAA1I,GAAAs8E,UAAAn8E,EAAAmE,MAAAsE,EAAA2zE,UAAA97E,EAAA8yB,IAAA7zB,EAAA,IAAAM,EAAA,MAAmF,OAAA2I,MACj2B6zE,4BAAA,IAAA5Y,mBAAA,IAAA8Z,aAAA,MAAwEC,KAAA,SAAA30E,QAAAxJ,OAAAD,SAC3E,YAAa,IAAAu2D,SAAA9sD,QAAA,oBAAA03D,gBAAA13D,QAAA,4BAA6FxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,GAAAlD,EAAAzF,MAAAI,EAAAqF,EAAA+tB,IAAA9qB,EAAAqtD,QAAAptD,EAAmC,OAAA,YAAAD,GAAA,GAAAi4D,iBAAAvgE,EAAAuI,EAAA,6BAAAD,UACrK+zE,4BAAA,IAAA5Y,mBAAA,MAAuDga,KAAA,SAAA50E,QAAAxJ,OAAAD,SAC1D,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,oBAAA07D,cAAA17D,QAAA,kBAAA07D,aAAmJllE,QAAAD,QAAA,SAAAmJ,GAA2B,GAAAlD,GAAAkD,EAAA6qB,IAAApzB,EAAAuI,EAAA3I,MAAA0I,EAAAqtD,QAAA31D,EAAmC,OAAA,WAAAsI,GAAA,GAAAi4D,iBAAAl7D,EAAArF,EAAA,2BAAAsI,IAAA,OAAAi8D,cAAAvkE,IAAA,GAAAugE,iBAAAl7D,EAAArF,EAAA,6BAAAA,UAC3Nq8E,4BAAA,IAAA5Y,mBAAA,IAAAmY,eAAA,MAA4E8B,KAAA,SAAA70E,QAAAxJ,OAAAD,SAC/E,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,mBAA6FxJ,QAAAD,QAAA,SAAAmJ,GAA2B,GAAAlD,GAAAkD,EAAA6qB,IAAA9qB,EAAAC,EAAA3I,KAAoC,IAApC2I,EAAA6zE,UAAoC/K,SAAA,EAAA,MAAA/oE,IAAA,GAAAi4D,iBAAAl7D,EAAAiD,EAAA,8CAAiG,IAAAtI,GAAA21D,QAAArtD,EAAiB,IAAA,WAAAtI,EAAA,OAAA,GAAAugE,iBAAAl7D,EAAAiD,EAAA,4BAAAtI,GAA+E,IAAAM,KAAS,KAAA,GAAAhB,KAAAgJ,GAAA,MAAAhJ,EAAA,IAAAgB,EAAAqD,KAAA,GAAA48D,iBAAAl7D,EAAA,IAAA/F,EAAAgJ,EAAAhJ,GAAA,iCAAqG,OAAAgB,MACrd+7E,4BAAA,IAAA5Y,mBAAA,MAAuDka,KAAA,SAAA90E,QAAAxJ,OAAAD,SAC1D,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA+0E,SAAA/0E,QAAA,4BAAuGxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,GAAAlD,EAAA+tB,IAAA9yB,EAAA+E,EAAAzF,MAAA4I,EAAAnD,EAAA82E,UAAAn8E,IAAyC,OAAA8Y,OAAAuD,QAAA7T,EAAAyqB,SAAA,IAAAzqB,EAAAyqB,OAAAjX,QAAA4hE,SAAAt9E,KAAAN,EAAA2D,KAAA,GAAA48D,iBAAAh4D,EAAAjI,EAAA,iCAAAkI,EAAAyqB,OAAAjsB,KAAA,MAAA1G,KAAA,IAAAL,OAAAqY,KAAA9P,EAAAyqB,QAAAjX,QAAA4hE,SAAAt9E,KAAAN,EAAA2D,KAAA,GAAA48D,iBAAAh4D,EAAAjI,EAAA,iCAAAL,OAAAqY,KAAA9P,EAAAyqB,QAAAjsB,KAAA,MAAA1G,IAAAN,KACrLq8E,4BAAA,IAAAwB,4BAAA,MAAgEC,KAAA,SAAAj1E,QAAAxJ,OAAAD,SACnE,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAAk1E,aAAAl1E,QAAA,mBAAA8sD,QAAA9sD,QAAA,oBAAA+0E,SAAA/0E,QAAA,4BAAmLxJ,QAAAD,QAAA,QAAAiG,GAAAkD,GAA6B,GAAAD,GAAAG,EAAAF,EAAA3I,MAAAU,EAAAiI,EAAA6qB,IAAA7zB,EAAAgJ,EAAA6zE,UAAAv7E,IAA2C,IAAA,UAAA80D,QAAAltD,GAAA,OAAA,GAAA83D,iBAAAjgE,EAAAmI,EAAA,2BAAAktD,QAAAltD,IAA+F,IAAAA,EAAA/G,OAAA,EAAA,OAAA,GAAA6+D,iBAAAjgE,EAAAmI,EAAA,6CAA2F,QAAA5H,EAAAA,EAAAwL,OAAA0xE,cAAgC3qD,IAAA9yB,EAAA,MAAAV,MAAA6I,EAAA,GAAA0zE,UAAA58E,EAAA62E,gBAAAjyE,MAAAoE,EAAApE,MAAAi4E,UAAA7zE,EAAA6zE,aAAuFwB,SAAAn1E,EAAA,KAAmB,IAAA,IAAA,IAAA,KAAA,IAAA,IAAA,IAAA,KAAAA,EAAA/G,QAAA,GAAA,UAAAk8E,SAAAn1E,EAAA,KAAA5H,EAAA8C,KAAA,GAAA48D,iBAAAjgE,EAAAmI,EAAA,2CAAAA,EAAA,IAA0J,KAAA,KAAA,IAAA,KAAA,IAAAA,EAAA/G,QAAAb,EAAA8C,KAAA,GAAA48D,iBAAAjgE,EAAAmI,EAAA,sDAAAA,EAAA,IAA4H,KAAA,KAAA,IAAA,MAAAA,EAAA/G,QAAA,GAAA,YAAA4G,EAAAqtD,QAAAltD,EAAA,MAAA5H,EAAA8C,KAAA,GAAA48D,iBAAAjgE,EAAA,MAAAmI,EAAA,GAAA,4BAAAH,GAAwI,KAAA,GAAAtI,GAAA,EAAYA,EAAAyI,EAAA/G,OAAW1B,IAAAsI,EAAAqtD,QAAAltD,EAAAzI,IAAA,UAAA49E,SAAAn1E,EAAA,IAAA5H,EAAAA,EAAAwL,OAAA0xE,cAAsE3qD,IAAA9yB,EAAA,IAAAN,EAAA,IAAAJ,MAAA6I,EAAAzI,GAAAm8E,UAAA58E,EAAAu3E,cAAA3yE,MAAAoE,EAAApE,MAAAi4E,UAAA7zE,EAAA6zE,aAAyF,WAAA9zE,GAAA,WAAAA,GAAA,YAAAA,GAAAzH,EAAA8C,KAAA,GAAA48D,iBAAAjgE,EAAA,IAAAN,EAAA,IAAAyI,EAAAzI,GAAA,gDAAAsI,GAA8I,MAAM,KAAA,MAAA,IAAA,MAAA,IAAA,OAAA,IAAA,GAAAhJ,GAAA,EAA2CA,EAAAmJ,EAAA/G,OAAWpC,IAAAuB,EAAAA,EAAAwL,OAAAhH,GAAkB+tB,IAAA9yB,EAAA,IAAAhB,EAAA,IAAAM,MAAA6I,EAAAnJ,GAAA6E,MAAAoE,EAAApE,MAAAi4E,UAAA7zE,EAAA6zE,YAAkE,MAAM,KAAA,MAAA,IAAA,OAAA9zE,EAAAqtD,QAAAltD,EAAA,IAAA,IAAAA,EAAA/G,OAAAb,EAAA8C,KAAA,GAAA48D,iBAAAjgE,EAAAmI,EAAA,sDAAAA,EAAA,KAAA,WAAAH,GAAAzH,EAAA8C,KAAA,GAAA48D,iBAAAjgE,EAAA,MAAAmI,EAAA,GAAA,4BAAAH,IAAoO,MAAAzH,MACrqDw7E,4BAAA,IAAA5Y,mBAAA,IAAAoa,4BAAA,IAAAnB,kBAAA,MAA6GsB,KAAA,SAAAn1E,QAAAxJ,OAAAD,SAChH,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,oBAAAu0E,SAAAv0E,QAAA,cAAAo1E,eAAAp1E,QAAA,qBAAAq1E,cAAAr1E,QAAA,oBAAAs1E,eAAAt1E,QAAA,qBAAA+0E,SAAA/0E,QAAA,4BAA4SxJ,QAAAD,QAAA,SAAAiG,GAA2B,QAAAiD,GAAAjD,GAAc,GAAA,aAAAzE,EAAA,OAAA,GAAA2/D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,qDAAiH,IAAA0I,MAAAG,EAAApD,EAAAzF,KAAmB,OAAA0I,GAAAA,EAAA+D,OAAA6xE,eAAiC9qD,IAAA/tB,EAAA+tB,IAAAxzB,MAAA6I,EAAA0zE,UAAA92E,EAAA82E,UAAAh4E,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,UAAAiB,sBAAA90E,KAAoG,UAAAotD,QAAAltD,IAAA,IAAAA,EAAA/G,QAAA4G,EAAA3E,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA3qB,EAAA,sCAAAH,EAAkH,QAAAC,GAAAlD,GAAc,GAAAiD,MAAAC,EAAAlD,EAAAzF,MAAAI,EAAAqF,EAAA+tB,GAA2B,IAAA,UAAAuiC,QAAAptD,GAAA,OAAA,GAAAg4D,iBAAAvgE,EAAAuI,EAAA,2BAAAotD,QAAAptD,IAA+F,IAAA,IAAAA,EAAA7G,OAAA,OAAA,GAAA6+D,iBAAAvgE,EAAAuI,EAAA,4CAAA,EAAAA,EAAA7G,QAAwG,IAAA/B,EAAA,CAAM,GAAA,WAAAg2D,QAAAptD,EAAA,IAAA,OAAA,GAAAg4D,iBAAAvgE,EAAAuI,EAAA,4BAAAotD,QAAAptD,EAAA,KAAuG,QAAA,KAAAA,EAAA,GAAAlE,KAAA,OAAA,GAAAk8D,iBAAAvgE,EAAAuI,EAAA,kCAAwF,QAAA,KAAAA,EAAA,GAAA3I,MAAA,OAAA,GAAA2gE,iBAAAvgE,EAAAuI,EAAA,mCAA0F,IAAAhJ,GAAAA,EAAAq+E,SAAAr1E,EAAA,GAAAlE,MAAA,OAAA,GAAAk8D,iBAAAvgE,EAAAuI,EAAA,GAAAlE,KAAA,mDAAuHu5E,UAAAr1E,EAAA,GAAAlE,QAAA9E,IAAAA,EAAAq+E,SAAAr1E,EAAA,GAAAlE,MAAA/E,MAAA,GAAAuB,MAA6DyH,EAAAA,EAAA+D,OAAA4xE,gBAA6B7qD,IAAApzB,EAAA,MAAAJ,MAAA2I,EAAA,GAAA4zE,WAAkC93E,SAAQF,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,UAAAgC,yBAA8D/5E,KAAA85E,eAAAv+E,MAAA6I,UAAgCH,GAAAA,EAAA+D,OAAA5D,GAAmB2qB,IAAApzB,EAAA,MAAAJ,MAAA2I,EAAA,GAAA4zE,aAAmCh4E,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,YAAwC,OAAA9zE,GAAA+D,OAAA+wE,UAA0BhqD,IAAApzB,EAAA,MAAAJ,MAAA2I,EAAA,GAAA4zE,UAAA3zE,EAAArE,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,aAA0E,QAAA3zE,GAAApD,GAAc,GAAAiD,GAAAqtD,QAAAtwD,EAAAzF,OAAA2I,EAAAq1E,SAAAv4E,EAAAzF,MAA2C,IAAAU,GAAM,GAAAgI,IAAAhI,EAAA,OAAA,GAAAigE,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,8DAAA0I,EAAAhI,QAAsHA,GAAAgI,CAAS,IAAA,WAAAA,GAAA,WAAAA,GAAA,YAAAA,EAAA,OAAA,GAAAi4D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,0DAAiJ,IAAA,WAAA0I,GAAA,gBAAA1H,EAAA,CAAoC,GAAA6H,GAAA,2BAAkC,OAAAD,GAAA,0BAAA,KAAA5H,IAAA6H,GAAA,sFAAA,GAAA83D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA6I,EAAAH,IAA6K,MAAA,gBAAA1H,GAAA,WAAA0H,GAAA+1E,SAAA91E,IAAAU,KAAAwN,MAAAlO,KAAAA,EAAA,WAAAD,OAAA,KAAAhJ,GAAAiJ,EAAAjJ,GAAA,GAAAihE,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,uDAAAN,EAAAiJ,EAAA,gBAAA3H,GAAA2H,IAAA1H,IAAA,GAAA0/D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,uCAAAiB,EAAA0H,IAAA,QAAA,GAAAg4D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,6BAAA2I,IAAuX,QAAAvI,GAAAqF,GAAc,MAAA+3E,WAAiBhqD,IAAA/tB,EAAA+tB,IAAAxzB,MAAAyF,EAAAzF,MAAAu8E,UAAA3zE,EAAArE,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,YAA0E,GAAA97E,GAAAhB,EAAAC,EAAAiJ,EAAAnD,EAAA82E,UAAAv7E,EAAAg9E,SAAAv4E,EAAAzF,MAAAwC,MAAAvB,KAAqD0I,EAAA,gBAAA3I,OAAA,KAAAyE,EAAAzF,MAAAa,SAAAZ,GAAA0J,EAAA5J,EAAA,UAAAg2D,QAAAtwD,EAAAzF,MAAAgjE,QAAA,UAAAjN,QAAAtwD,EAAAzF,MAAAgjE,MAAA,KAAA,WAAAjN,QAAAtwD,EAAAzF,MAAAgjE,MAAA,GAAA,IAAAx5D,EAAA60E,gBAAwL7qD,IAAA/tB,EAAA+tB,IAAAxzB,MAAAyF,EAAAzF,MAAAu8E,UAAA92E,EAAA+2E,UAAAvZ,SAAA1+D,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,UAAAgC,yBAAoHxb,MAAAt6D,EAAA9E,QAAAxD,IAAqB,OAAA,aAAAY,GAAA2I,GAAAH,EAAAzF,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,yCAAA,aAAAgB,GAAAyE,EAAAzF,MAAAgjE,OAAAx5D,EAAAzF,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,sCAAA,gBAAAgB,GAAA,uBAAAyE,EAAA82E,UAAAtZ,UAAAz5D,EAAAzF,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,wCAAAyF,EAAA+2E,UAAA/K,UAAA,IAAAxxE,IAAAwF,EAAA82E,UAAA,qBAAA/yE,EAAAzF,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,qCAAA2J,IAAAlE,EAAA82E,UAAA,kBAAA/yE,EAAAzF,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,kCAAA,gBAAAgB,IAAAjB,OAAA,KAAA0F,EAAAzF,MAAAa,UAAA2I,EAAAzF,KAAA,GAAA48D,iBAAAl7D,EAAA+tB,IAAA/tB,EAAAzF,MAAA,oCAAAwJ,KAC5pGizE,4BAAA,IAAA5Y,mBAAA,IAAAoa,4BAAA,IAAAN,aAAA,IAAAjB,mBAAA,IAAAS,oBAAA,IAAAC,oBAAA,MAA+KsB,KAAA,SAAAz1E,QAAAxJ,OAAAD,SAClL,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA01E,eAAA11E,QAAA,oBAAqGxJ,QAAAD,QAAA,SAAAmJ,GAA2B,GAAAlD,GAAAkD,EAAA3I,MAAA0I,EAAAC,EAAA6qB,IAAA3qB,EAAA81E,eAAAh2E,EAA0C,OAAAE,GAAA/G,OAAA+G,IAAyC,IAAzCpD,EAAA2W,QAAA,gBAAyCvT,EAAA9E,KAAA,GAAA48D,iBAAAj4D,EAAAjD,EAAA,qDAA8G,IAA7BA,EAAA2W,QAAA,YAA6BvT,EAAA9E,KAAA,GAAA48D,iBAAAj4D,EAAAjD,EAAA,gDAA6EoD,MACxZ4zE,4BAAA,IAAAa,oBAAA,MAAwDsB,KAAA,SAAA31E,QAAAxJ,OAAAD,SAC3D,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA+0E,SAAA/0E,QAAA,6BAAAo1E,eAAAp1E,QAAA,qBAAA41E,eAAA51E,QAAA,qBAAA61E,sBAAA71E,QAAA,6BAAA81E,uBAAA91E,QAAA,8BAAA1C,OAAA0C,QAAA,iBAAwVxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,MAAAD,EAAAjD,EAAAzF,MAAA6I,EAAApD,EAAA+tB,IAAA9zB,EAAA+F,EAAAlB,MAAA5E,EAAA8F,EAAA+2E,SAAmD9zE,GAAAlG,MAAAkG,EAAA0E,KAAAzE,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAA,sCAAqF,IAAAE,GAAAo1E,SAAAt1E,EAAAlG,MAAA9B,EAAAs9E,SAAAt1E,EAAA0E,IAAyC,IAAA1E,EAAArG,GAAA,IAAA,GAAAjC,GAAA49E,SAAAt1E,EAAArG,IAAApB,EAAA,EAAqCA,EAAAwE,EAAAi4E,WAAez8E,IAAA,CAAK,GAAAhB,GAAAP,EAAAgyB,OAAAzwB,EAAkB+8E,UAAA/9E,EAAAoC,MAAAjC,GAAAuI,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAArG,GAAA,sDAAAqG,EAAArG,GAAApC,EAAAoC,GAAAw+D,WAAiI,GAAA,OAAAn4D,GAAA,EAAc,OAAA,SAAA,eAAA,SAAA,UAAAyT,QAAA,SAAA1W,GAAuEA,IAAAiD,IAAAC,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAAjD,GAAA,oCAAAA,KAAoF,IAAAkE,EAAMjK,GAAAgyB,OAAAvV,QAAA,SAAA1W,GAA6Bu4E,SAAAv4E,EAAApD,MAAA3B,IAAAiJ,EAAAlE,KAA0BkE,EAAAA,EAAAyD,IAAAzE,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAA0E,IAAA,2CAAAxE,EAAAo1E,SAAAr0E,EAAAnH,MAAAmG,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAA0E,IAAA,2BAAA1M,QAA6K,IAAA,eAAAkI,EAAA,GAAAF,EAAAtD,OAAA,CAAsC,GAAArF,GAAAL,EAAA+1B,SAAA/1B,EAAA+1B,QAAA/sB,EAAAtD,QAAApE,EAAAjB,GAAAi+E,SAAAj+E,EAAAyC,KAA2DzC,GAAA,WAAAiB,GAAA,WAAA4H,EAAAD,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAAtD,OAAA,sCAAAsD,EAAArG,KAAA,WAAArB,GAAA,WAAA4H,EAAAD,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAAtD,OAAA,sCAAAsD,EAAArG,KAAA,WAAArB,GAAA0H,EAAA,iBAAAC,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAA,2CAAAA,EAAArG,KAAAsG,EAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAAtD,OAAA,wBAAAsD,EAAAtD,aAAyZuD,GAAA5E,KAAA,GAAA48D,iBAAA93D,EAAAH,EAAA,sCAA2E,OAAAC,GAAAA,EAAA8D,OAAA4xE,gBAAkC7qD,IAAA3qB,EAAA7I,MAAA0I,EAAA6zE,UAAA58E,EAAAiG,MAAArB,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,UAAAgC,yBAA6FlnC,IAAA,WAAe,UAASp7B,OAAA2iE,eAAAx5E,OAAA,SAAAI,GAA0C,MAAA44E,iBAAuBz4E,MAAA8C,EAAA8qB,IAAA/tB,EAAA+tB,IAAAxzB,MAAAyF,EAAAzF,MAAAuE,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,UAAAgC,yBAA6FlnC,IAAA,SAAA7xC,GAAgB,MAAAs5E,wBAAAx4E,QAAsCy4E,UAAAp2E,GAAYnD,SAAS8tC,MAAA,SAAA9tC,GAAmB,MAAA44E,iBAAuBz4E,MAAA8C,EAAA8qB,IAAA/tB,EAAA+tB,IAAAxzB,MAAAyF,EAAAzF,MAAAuE,MAAAkB,EAAAlB,MAAAi4E,UAAA/2E,EAAA+2E,UAAAgC,yBAA6FlnC,IAAA,SAAA7xC,GAAgB,MAAAq5E,uBAAAv4E,QAAqCy4E,UAAAp2E,GAAYnD,gBAC1xEg3E,4BAAA,IAAA7Y,iBAAA,IAAAqa,4BAAA,IAAAlB,oBAAA,IAAAkC,6BAAA,IAAA7B,oBAAA,IAAA8B,4BAAA,MAAsMC,KAAA,SAAAl2E,QAAAxJ,OAAAD,SACzM,YAAa,IAAA4/E,kBAAAn2E,QAAA,sBAAoDxJ,QAAAD,QAAA,SAAAmJ,GAA2B,MAAAy2E,kBAAAz2E,EAAA,aACzF02E,sBAAA,MAA0BC,KAAA,SAAAr2E,QAAAxJ,OAAAD,SAC7B,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,oBAAAu0E,SAAAv0E,QAAA,aAA4HxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAiD,GAAAjD,EAAAzF,MAAA2I,EAAAlD,EAAA+2E,UAAA3zE,EAAAF,EAAAsyC,MAAAv7C,EAAA+F,EAAAlB,MAAA7D,KAAAN,EAAA21D,QAAArtD,EAAkE,QAAA,KAAAA,EAAA,MAAAhI,EAAuB,IAAA,WAAAN,EAAA,MAAAM,GAAAA,EAAA+L,QAAA,GAAAk0D,iBAAA,QAAAj4D,EAAA,4BAAAtI,IAAkG,KAAA,GAAAT,KAAA+I,GAAA,CAAgB,GAAA3I,GAAAJ,EAAAsuB,MAAA,oBAAmCvtB,GAAAX,GAAA8I,EAAA9I,EAAA,KAAA8I,EAAA9I,EAAA,IAAAugE,WAAA5/D,EAAA+L,OAAA+wE,UAAoDhqD,IAAA7zB,EAAAK,MAAA0I,EAAA/I,GAAA48E,UAAA5zE,EAAA23D,WAAA/7D,MAAA7E,EAAA88E,UAAA7zE,KAA4DE,EAAAlJ,GAAAe,EAAA+L,OAAA+wE,UAA2BhqD,IAAA7zB,EAAAK,MAAA0I,EAAA/I,GAAA48E,UAAA1zE,EAAAlJ,GAAA4E,MAAA7E,EAAA88E,UAAA7zE,KAAoDjI,EAAA+L,QAAA,GAAAk0D,iBAAAhhE,EAAA+I,EAAA/I,GAAA,wBAAAA,KAAqE,MAAAe,MACnpB+7E,4BAAA,IAAA5Y,mBAAA,IAAA8Z,aAAA,MAAwE4B,KAAA,SAAAt2E,QAAAxJ,OAAAD,SAC3E,YAAa,IAAAu2D,SAAA9sD,QAAA,oBAAA03D,gBAAA13D,QAAA,4BAA6FxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,GAAAlD,EAAA+tB,IAAA9zB,EAAA+F,EAAAzF,MAAAF,EAAA2F,EAAA82E,UAAA1zE,EAAAktD,QAAAr2D,EAAiD,OAAA,WAAAmJ,GAAA,GAAA83D,iBAAAh4D,EAAAjJ,EAAA,4BAAAmJ,IAAA,WAAA/I,IAAAJ,EAAAI,EAAAoyE,SAAA,GAAAvR,iBAAAh4D,EAAAjJ,EAAA,uCAAAA,EAAAI,EAAAoyE,UAAA,WAAApyE,IAAAJ,EAAAI,EAAAmyE,SAAA,GAAAtR,iBAAAh4D,EAAAjJ,EAAA,0CAAAA,EAAAI,EAAAmyE,gBACnLwK,4BAAA,IAAA5Y,mBAAA,MAAuD2b,KAAA,SAAAv2E,QAAAxJ,OAAAD,SAC1D,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,oBAAAw2E,aAAAx2E,QAAA,aAAgIxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAkD,GAAAlD,EAAA+tB,IAAA9qB,EAAAjD,EAAAzF,MAAAN,EAAA+F,EAAA82E,cAAuC1zE,EAAApD,EAAA+4E,4BAAgCp+E,EAAAqF,EAAAlB,MAAA5E,EAAA8F,EAAA+2E,UAAA97E,KAAAkI,EAAAmtD,QAAArtD,EAA2C,IAAA,WAAAE,EAAA,OAAA,GAAA+3D,iBAAAh4D,EAAAD,EAAA,4BAAAE,GAA+E,KAAA,GAAA3I,KAAAyI,GAAA,CAAgB,GAAA1H,GAAAf,EAAAsB,MAAA,KAAA,GAAAN,EAAAvB,EAAAsB,IAAAtB,EAAA,KAAAK,MAAA,EAA8C,IAAA8I,EAAA7H,GAAAjB,EAAA8I,EAAA7H,OAAe,IAAAtB,EAAAsB,GAAAjB,EAAA0/E,iBAA4B,IAAA52E,EAAA,KAAA9I,EAAA8I,EAAA,SAAwB,CAAK,IAAAnJ,EAAA,KAAA,CAAYgB,EAAAqD,KAAA,GAAA48D,iBAAAh4D,EAAAD,EAAAzI,GAAA,wBAAAA,GAA8D,UAASF,EAAA0/E,aAAe/+E,EAAAA,EAAA+L,OAAA1M,GAAcyzB,KAAA7qB,EAAAA,EAAA,IAAAA,GAAA1I,EAAAD,MAAA0I,EAAAzI,GAAAs8E,UAAAt7E,EAAAsD,MAAAnE,EAAAo8E,UAAA78E,EAAAiB,OAAA8H,EAAAg3E,UAAAz/E,KAAqF,IAAA,GAAAuJ,KAAA9J,GAAAA,EAAA8J,GAAAmoE,cAAA,KAAAjyE,EAAA8J,GAAA5F,aAAA,KAAA8E,EAAAc,IAAA9I,EAAAqD,KAAA,GAAA48D,iBAAAh4D,EAAAD,EAAA,iCAAAc,GAAwI,OAAA9I,MACzzB+7E,4BAAA,IAAA5Y,mBAAA,IAAA8Z,aAAA,MAAwEgC,KAAA,SAAA12E,QAAAxJ,OAAAD,SAC3E,YAAa,IAAA4/E,kBAAAn2E,QAAA,sBAAoDxJ,QAAAD,QAAA,SAAAmJ,GAA2B,MAAAy2E,kBAAAz2E,EAAA,YACzF02E,sBAAA,MAA0BO,KAAA,SAAA32E,QAAAxJ,OAAAD,SAC7B,YAAa,IAAAg+E,UAAAv0E,QAAA,cAAA03D,gBAAA13D,QAAA,6BAAA8sD,QAAA9sD,QAAA,mBAA4HxJ,QAAAD,QAAA,SAAAiG,EAAAiD,GAA6B,GAAAC,GAAAlD,EAAA+tB,IAAA9zB,EAAA+F,EAAAlB,MAAAsE,EAAApD,EAAA+2E,UAAA97E,EAAA+E,EAAAzF,MAAAI,EAAAqF,EAAAi6E,UAAA//E,EAAAkJ,EAAAH,EAAA,IAAAjD,EAAAu5E,UAAmF,KAAAr/E,EAAA,QAAe,IAAAgK,GAAAvJ,EAAA6tB,MAAA,oBAAmC,IAAA,UAAAvlB,GAAAiB,GAAAhK,EAAAgK,EAAA,KAAAhK,EAAAgK,EAAA,IAAA22D,WAAA,MAAAkd,WAAgEhqD,IAAA7qB,EAAA3I,MAAAU,EAAA67E,UAAA1zE,EAAAy3D,WAAA/7D,MAAA7E,EAAA88E,UAAA3zE,GAA2D,IAAA7H,GAAAyE,EAAA82E,WAAA58E,EAAAS,EAAwB,KAAAY,EAAA,OAAA,GAAA2/D,iBAAAh4D,EAAAjI,EAAA,wBAAAN,GAAiE,IAAAa,EAAM,IAAA,WAAA80D,QAAAr1D,IAAAM,EAAA,uBAAAA,EAAAuzE,SAAAtzE,EAAA,cAA2EI,KAAAX,IAAA,OAAA,GAAAigE,iBAAAh4D,EAAAjI,EAAA,oIAA2KN,EAAA8V,KAAAC,UAAAlV,EAAA,KAA6B,IAAA2H,KAAS,OAAA,WAAAnD,EAAAu5E,WAAA,eAAA5+E,GAAAV,IAAAA,EAAA0gE,QAAAx3D,EAAA7E,KAAA,GAAA48D,iBAAAh4D,EAAAjI,EAAA,2DAAAkI,EAAA6D,OAAA+wE,UAA2KhqD,IAAA/tB,EAAA+tB,IAAAxzB,MAAAU,EAAA67E,UAAAv7E,EAAAuD,MAAA7E,EAAA88E,UAAA3zE,QACz8B4zE,4BAAA,IAAA5Y,mBAAA,IAAA8Z,aAAA,MAAwEkC,KAAA,SAAA52E,QAAAxJ,OAAAD,SAC3E,YAAa,IAAAmhE,iBAAA13D,QAAA,6BAAA+0E,SAAA/0E,QAAA,6BAAAo1E,eAAAp1E,QAAA,qBAAAk1E,aAAAl1E,QAAA,kBAA2LxJ,QAAAD,QAAA,SAAAiG,GAA2B,GAAAoD,GAAApD,EAAAzF,MAAA0I,EAAAjD,EAAA+tB,IAAA7qB,EAAAlD,EAAA+2E,UAAA78E,EAAA8F,EAAAlB,KAA8C,KAAAsE,EAAArG,KAAA,OAAA,GAAAm+D,iBAAAj4D,EAAAG,EAAA,sBAAiE,IAAAnJ,KAA4B,QAA5Bs+E,SAAAn1E,EAAArG,OAAsC,IAAA,SAAA,IAAA,SAAA,GAAA9C,EAAAA,EAAA+M,OAAA4xE,gBAAwD7qD,IAAA9qB,EAAA1I,MAAA6I,EAAA0zE,UAAA5zE,EAAAopE,YAAAxtE,MAAAkB,EAAAlB,MAAAi4E,UAAA7zE,KAAgE,OAAAE,GAAA,IAAA,GAAA5H,KAAA4H,IAAA,OAAA,MAAA,YAAAuT,QAAAnb,GAAA,GAAAvB,EAAAqE,KAAA,GAAA48D,iBAAAj4D,EAAA,IAAAzH,EAAA4H,EAAA5H,GAAA,iEAAAA,GAAiL,OAAAvB,EAAS,KAAA,UAAA,MAAA2+E,iBAAqC7qD,IAAA9qB,EAAA1I,MAAA6I,EAAA0zE,UAAA5zE,EAAAqpE,eAAAztE,MAAA5E,EAAA68E,UAAA7zE,GAA+D,KAAA,QAAA,MAAA01E,iBAAmC7qD,IAAA9qB,EAAA1I,MAAA6I,EAAA0zE,UAAA5zE,EAAAwpE,aAAA5tE,MAAA5E,EAAA68E,UAAA7zE,GAA6D,KAAA,QAAA,MAAA01E,iBAAmC7qD,IAAA9qB,EAAA1I,MAAA6I,EAAA0zE,UAAA5zE,EAAAypE,aAAA7tE,MAAA5E,EAAA68E,UAAA7zE,GAA6D,KAAA,SAAA,MAAA01E,iBAAoC7qD,IAAA9qB,EAAA1I,MAAA6I,EAAA0zE,UAAA5zE,EAAA0pE,cAAA9tE,MAAA5E,EAAA68E,UAAA7zE,GAA8D,SAAA,MAAAw1E,eAA6B3qD,IAAA9qB,EAAA,QAAA1I,MAAA6I,EAAArG,KAAA+5E,WAAsClpD,QAAA,SAAA,SAAA,UAAA,QAAA,QAAA,WAA8D9uB,MAAA5E,EAAA68E,UAAA7zE,QAC9qC8zE,4BAAA,IAAAwB,4BAAA,IAAAnB,kBAAA,IAAAM,oBAAA,MAA8G0C,KAAA,SAAA72E,QAAAxJ,OAAAD,SACjH,YAAa,IAAAu2D,SAAA9sD,QAAA,oBAAA03D,gBAAA13D,QAAA,4BAA6FxJ,QAAAD,QAAA,SAAAmJ,GAA2B,GAAAlD,GAAAkD,EAAA3I,MAAA0I,EAAAC,EAAA6qB,IAAA9zB,EAAAq2D,QAAAtwD,EAAmC,OAAA,WAAA/F,GAAA,GAAAihE,iBAAAj4D,EAAAjD,EAAA,4BAAA/F,UACrK+8E,4BAAA,IAAA5Y,mBAAA,MAAuDkc,KAAA,SAAA92E,QAAAxJ,OAAAD,SAC1D,YAAa,SAAAwgF,kBAAAv6E,EAAAoD,GAA+BA,EAAAA,GAAAo3E,eAAqB,IAAAv3E,KAAS,OAAAA,GAAAA,EAAA+D,OAAA+wE,UAA4BhqD,IAAA,GAAAxzB,MAAAyF,EAAA82E,UAAA1zE,EAAA6oE,MAAA8K,UAAA3zE,EAAAtE,MAAAkB,EAAA+4E,yBAA8Epe,OAAA8f,kBAAA5oC,IAAA,WAAwC,cAAWzuC,EAAA4oE,SAAA,GAAAhsE,EAAA42E,YAAA3zE,EAAAA,EAAA+D,OAAA0zE,mBAA6D3sD,IAAA,YAAAxzB,MAAAyF,EAAA42E,UAAA93E,MAAAkB,EAAA+2E,UAAA3zE,MAAsDu3E,WAAA13E,GAAkB,QAAA03E,YAAA36E,GAAuB,SAAAgH,OAAAhH,GAAA4L,KAAA,SAAA5L,EAAAoD,GAAsC,MAAApD,GAAA0/C,KAAAt8C,EAAAs8C,OAAuB,QAAAk7B,iBAAA56E,GAA4B,MAAA,YAAkB,MAAA26E,YAAA36E,EAAAijB,MAAAvf,KAAAtH,aAA4C,GAAAs+E,mBAAAl3E,QAAA,iCAAAu0E,SAAAv0E,QAAA,uBAAAg3E,gBAAAh3E,QAAA,sBAAAi3E,kBAAAj3E,QAAA,iCAAiN+2E,kBAAA56E,OAAAi7E,gBAAAp3E,QAAA,+BAAA+2E,iBAAA/kC,MAAAolC,gBAAAp3E,QAAA,8BAAA+2E,iBAAAp6E,MAAAy6E,gBAAAp3E,QAAA,8BAAA+2E,iBAAA9jE,OAAAmkE,gBAAAp3E,QAAA,+BAAA+2E,iBAAAM,cAAAD,gBAAAp3E,QAAA,uCAAA+2E,iBAAAO,eAAAF,gBAAAp3E,QAAA,wCAAAxJ,OAAAD,QAAAwgF,mBACxuBQ,qBAAA,IAAAC,sBAAA,IAAAC,gCAAA,IAAAC,6BAAA,IAAAC,iCAAA,IAAAC,4BAAA,IAAAC,sCAAA,IAAAC,4BAAA,IAAAC,qCAAA,IAAAC,6BAAA,MAAiVC,KAAA,SAAAj4E,QAAAxJ,OAAAD,SACpV,YAAa,IAAA2hF,eAAA,WAA6Bh4E,KAAAzI,EAAA,EAAAyI,KAAAi4E,SAAwBD,eAAArgF,UAAAugF,QAAA,WAA2C,MAAAl4E,MAAAi4E,MAAAj4E,KAAAi4E,MAAAllE,OAAA,SAAAxT,GAAgD,MAAAA,GAAAwM,OAAA,GAAA8V,OAAA+sC,aAAoC5uD,KAAAi4E,MAAAt/E,QAAqBq/E,cAAArgF,UAAAwY,IAAA,SAAA5Q,GAAyC,MAAAS,MAAAi4E,MAAAr9E,MAAwB1B,GAAA8G,KAAAzI,EAAAwU,KAAAxM,GAAA,GAAAsiB,OAAA+sC,YAAsC5uD,KAAAzI,KAAWygF,cAAArgF,UAAAitD,OAAA,SAAArlD,GAA4CS,KAAAi4E,MAAAj4E,KAAAi4E,MAAAllE,OAAA,SAAAxc,GAAyC,MAAAA,GAAA2C,KAAAqG,KAAkBjJ,OAAAD,QAAA2hF,mBAC3aG,KAAA,SAAAr4E,QAAAxJ,OAAAD,SACJ,YAAa,IAAAwyC,SAAA/oC,QAAA,mBAAAqnD,KAAArnD,QAAA,gBAAA0f,QAAA1f,QAAA,mBAAA0pD,aAAA1pD,QAAA,kBAAAs4E,mBAAAC,eAAA,WAA2Lr4E,KAAAY,EAAA,EAAAZ,KAAAQ,EAAA,EAAAR,KAAAuD,MAAA,EAAAvD,KAAAwD,OAAA,EAAAxD,KAAA63B,WAAA,EAAA73B,KAAA23B,KAAA,GAA2E2gD,YAAA,SAAA/4E,GAAyB,QAAAjD,GAAAA,EAAA/F,GAAgB,GAAAiJ,GAAAQ,IAAWT,GAAA7I,KAAAsJ,MAAAA,KAAAk1B,KAAA54B,EAAA0D,KAAAu4E,OAAA/4D,QAAAwsB,iBAAA,EAAAhsC,KAAAwlD,iBAAAjvD,EAAyF,IAAAmJ,GAAAM,KAAAu4E,OAAA,MAAA,EAA2BpxB,MAAAU,QAAA2B,aAAAltD,EAAAoD,EAAA,SAAA,SAAAH,EAAAjD,GAAqD,MAAAiD,OAAAC,GAAAglD,KAAA,SAA8Bt+B,MAAA3mB,KAAQC,EAAArG,KAAAmD,OAAAkD,EAAAg5E,SAAAh5E,EAAAglD,KAAA,QAA2CuB,SAAA,cAAqBoB,KAAAqB,SAAAgB,aAAAltD,EAAAoD,EAAA,QAAA,SAAAH,EAAAjD,GAAuD,MAAAiD,OAAAC,GAAAglD,KAAA,SAA8Bt+B,MAAA3mB,KAAQC,EAAAg5E,QAAAh5D,QAAAi5D,aAAAn8E,GAAAkD,EAAA+D,MAAAjH,EAAAiH,WAAA/D,EAAArG,MAAAqG,EAAAglD,KAAA,QAAiFuB,SAAA,cAAuB,MAAAxmD,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAA+gF,OAAA,WAA4H,MAAA14E,MAAAk1B,MAAiB54B,EAAA3E,UAAA6gD,OAAA,WAA+B,SAAAx4C,KAAA7G,OAAA6G,KAAAw4E,UAAmCl8E,EAAA3E,UAAAiM,OAAA,WAA+B,GAAArE,GAAAS,IAAW,IAAAwf,QAAAwsB,iBAAA,IAAAhsC,KAAAu4E,OAAA,CAA6C,GAAAhiF,GAAA,GAAA+F,GAAA0D,KAAAk1B,KAAuB3+B,GAAAsF,GAAA,OAAA,WAAuB0D,EAAApG,KAAA5C,EAAA4C,KAAAoG,EAAAi5E,QAAAjiF,EAAAiiF,QAAAj5E,EAAAgE,MAAAhN,EAAAgN,MAAAhE,EAAAg5E,OAAAhiF,EAAAgiF,WAAuEj8E,EAAA3E,UAAAghF,kBAAA,SAAAp5E,GAA2C,IAAAS,KAAAw4C,SAAA,MAAA,IAAA6/B,eAA4C,IAAA/7E,GAAA0D,KAAA7G,MAAA6G,KAAA7G,KAAAoG,EAA8B,OAAAjD,IAAA0D,KAAAw4E,QAAAl8E,EAAA,GAAA+7E,iBAA4C/7E,GAAGusC,QAAUvyC,QAAAD,QAAAiiF,cACj2CtwB,eAAA,IAAA1b,kBAAA,IAAA2a,kBAAA,IAAA8C,iBAAA,MAAoF6uB,KAAA,SAAA94E,QAAAxJ,OAAAD,SACvF,YAAa,IAAAg9E,WAAAvzE,QAAA,kCAAAgwB,KAAAhwB,QAAA,gBAAA+oC,QAAA/oC,QAAA,mBAAA+4E,cAAA/4E,QAAA,oBAAAg5E,iBAAAh5E,QAAA,uBAAAi5E,gBAAAj5E,QAAA,sBAAAk5E,MAAA,SAAAz5E,GAAkT,QAAAhJ,GAAAA,GAAcgJ,EAAA7I,KAAAsJ,MAAAA,KAAAvG,YAAA,SAAA,QAAA,WAAA,aAAAuG,KAAAi5E,gBAAA5F,UAAAvhC,MAAA9xC,KAAAmQ,IAAA5Z,GAAwH,MAAAgJ,KAAAhJ,EAAAi7B,UAAAjyB,GAAAhJ,EAAAoB,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAApB,EAAAoB,UAAAgrB,YAAApsB,EAAAA,EAAAoB,UAAAwY,IAAA,SAAA5Q,GAA0H,GAAAhJ,GAAAyJ,IAAW,KAAAA,KAAAk5E,UAAAL,cAAA/mC,MAAAvyC,GAAA,CAA2CS,KAAAm5E,iBAAqBn5E,KAAAo5E,gBAAqBp5E,KAAAq5E,sBAA2Br5E,KAAA+xC,cAAmBxyC,EAAAuwB,KAAA1yB,QAAgB+6B,OAAAn4B,KAAAi5E,gBAAA9gD,OAAA19B,QAAA43C,MAAAryC,KAAAi5E,gBAAA5mC,MAAA53C,QAAAhC,SAAAuH,KAAAi5E,gBAAAxgF,SAAAgC,QAAA03C,UAAAnyC,KAAAi5E,gBAAA9mC,UAAA13C,SAAoL8E,EAAI,KAAA,GAAAjD,GAAA,EAAArF,EAAAV,EAAAkD,WAA2B6C,EAAArF,EAAA0B,OAAW2D,GAAA,EAAA,CAAM,GAAA/E,GAAAN,EAAAqF,EAAW/F,GAAA4iF,cAAA5hF,GAAA,GAAAuhF,kBAAAviF,EAAA0iF,gBAAA1hF,GAAAgI,EAAAhI,IAAmE,MAAAyI,QAAazJ,EAAAoB,UAAA2hF,SAAA,WAAiC,OAAOnhD,OAAAn4B,KAAAu5E,iBAAA,UAAAlnC,MAAAryC,KAAAu5E,iBAAA,SAAA9gF,SAAAuH,KAAAu5E,iBAAA,YAAApnC,UAAAnyC,KAAAu5E,iBAAA,eAAqKhjF,EAAAoB,UAAA4hF,iBAAA,SAAAh6E,GAA0C,MAAAuwB,MAAA0pD,SAAAj6E,EAAtwC,eAAswCS,KAAAq5E,mBAAA95E,GAAAS,KAAAm5E,cAAA55E,IAAAS,KAAAm5E,cAAA55E,GAAA1I,OAAwHN,EAAAoB,UAAA8hF,cAAA,SAAAl6E,EAAAhJ,GAAyC,GAAA,aAAAgJ,EAAA,CAAmB,GAAAjD,GAAA0D,KAAAo5E,aAAA75E,GAAAm6E,UAAAnjF,GAAAU,EAAA64B,KAAA6pD,qBAAAr9E,EAAuE,QAAOsE,EAAA3J,EAAA,GAAAuJ,EAAAvJ,EAAA,GAAA0Q,EAAA1Q,EAAA,IAAsB,MAAA+I,MAAAo5E,aAAA75E,GAAAm6E,UAAAnjF,IAAyCA,EAAAoB,UAAAk6C,SAAA,SAAAtyC,GAAkC,GAAAhJ,GAAAyJ,IAAW,KAAAA,KAAAk5E,UAAAL,cAAA/mC,MAAAvyC,GAAA,IAAA,GAAAjD,KAAAiD,GAAA,CAA0D,GAAAtI,GAAAsI,EAAAjD,EAAWwzB,MAAA0pD,SAAAl9E,EAAzrD,eAAyrD/F,EAAA8iF,mBAAA/8E,GAAArF,EAAA,OAAAA,OAAA,KAAAA,QAAAV,GAAA4iF,cAAA78E,GAAA/F,EAAA4iF,cAAA78E,GAAA,GAAAw8E,kBAAAviF,EAAA0iF,gBAAA38E,GAAArF,KAA6KV,EAAAoB,UAAAq9D,YAAA,SAAAz1D,GAAqC,GAAAhJ,GAAAyJ,IAAW,KAAA,GAAA1D,KAAA/F,GAAA4iF,cAAA5iF,EAAAw7C,WAAAz1C,GAAA/F,EAAAkjF,cAAAn9E,GAAgEhB,KAAAiE,KAAShJ,EAAAoB,UAAAiiF,uBAAA,SAAAr6E,EAAAhJ,EAAA+F,EAAArF,EAAAM,GAAwD,GAAAiI,GAAAlD,EAAA66D,WAAAn3D,KAAAo5E,aAAA75E,OAAA,GAAAG,EAAAM,KAAAi5E,gBAAA15E,EAAyE,IAAA,OAAAhJ,OAAA,KAAAA,IAAAA,EAAA,GAAAuiF,kBAAAp5E,EAAAA,EAAAjF,WAAA+E,GAAAA,EAAAq6E,YAAAC,OAAAvjF,EAAAujF,KAAA,CAAgG,GAAAhiF,GAAAg4B,KAAA1yB,QAAmBshD,SAAA,IAAA4zB,MAAA,GAAqBr7E,EAAA+I,KAAAu5E,iBAAAh6E,EAAxuE,gBAAwuE/I,EAAAwJ,KAAAo5E,aAAA75E,GAAA,GAAAw5E,iBAAAr5E,EAAAnJ,EAAAiJ,EAAA1H,EAAmGtB,GAAAujF,YAAAvjF,EAAAwjF,OAAAziF,EAAA4Y,IAAA3Z,EAAAyjF,QAAAp4D,KAAAC,QAAAtiB,GAAAjI,EAAAqtD,OAAAplD,EAAAw6E,UAA2EzjF,EAAAoB,UAAAuiF,uBAAA,SAAA36E,EAAAhJ,EAAA+F,GAAoD,GAAArF,GAAAM,EAAAyI,IAAa,KAAA/I,IAAAM,GAAA4hF,cAAA5hF,EAAAqiF,uBAAA3iF,EAAAM,EAAA4hF,cAAAliF,GAAAsI,EAAAhJ,EAAA+F,IAA8E/F,EAAAoB,UAAAuhF,UAAA,SAAA35E,EAAAhJ,GAAqC,MAAAsiF,eAAAsB,WAAAn6E,KAAAT,EAAA7I,KAAAmiF,cAAA/oD,KAAA1yB,QAAuEvG,MAAAN,EAAA6E,OAAe67D,QAAA,EAAA1e,QAAA,GAAoB86B,UAAAA,eAAyB98E,GAAGsyC,QAAUvyC,QAAAD,QAAA2iF,QACpuFoB,iCAAA,IAAAnzB,kBAAA,IAAAr2B,eAAA,IAAAypD,sBAAA,IAAAC,qBAAA,IAAAC,mBAAA,MAAwJC,KAAA,SAAA16E,QAAAxJ,OAAAD,SAC3J,YAAa,IAAAwyC,SAAA/oC,QAAA,mBAAA26E,WAAA36E,QAAA,iBAAAw4E,YAAAx4E,QAAA,kBAAAk5E,MAAAl5E,QAAA,WAAA46E,YAAA56E,QAAA,0BAAA66E,YAAA76E,QAAA,0BAAAq7C,UAAAr7C,QAAA,wBAAAgwB,KAAAhwB,QAAA,gBAAAqnD,KAAArnD,QAAA,gBAAA86E,OAAA96E,QAAA,kBAAA0f,QAAA1f,QAAA,mBAAA+6E,WAAA/6E,QAAA,sBAAAk4E,cAAAl4E,QAAA,oBAAA+4E,cAAA/4E,QAAA,oBAAA0tD,OAAA1tD,QAAA,oBAAAg7E,cAAAh7E,QAAA,4BAAA87C,YAAA97C,QAAA,0BAAAuzE,UAAAvzE,QAAA,kCAAAi7E,iBAAAj7E,QAAA,0BAAAk7E,cAAAl7E,QAAA,8BAAA21D,MAAA31D,QAAA,uBAAAm7E,KAAAn7E,QAAA,sBAAAipC,cAAAjpC,QAAA,6BAAAo7E,wBAAAprD,KAAA45B,KAAAuxB,KAAAllB,YAAA,WAAA,cAAA,mBAAA,oBAAA,YAAA,YAAA,eAAA,oBAAA,WAAA,kBAAAolB,sBAAArrD,KAAA45B,KAAAuxB,KAAAllB,YAAA,YAAA,UAAA,aAAA,aAAAntB,MAAA,SAAAtsC,GAAkuC,QAAAiD,GAAAA,EAAAC,EAAAjJ,GAAkB,GAAAU,GAAA+I,IAAW1D,GAAA5F,KAAAsJ,MAAAA,KAAAhF,IAAAwE,EAAAQ,KAAAy2C,cAAAj3C,GAAAA,EAAAi3C,eAAA,GAAAuhC,eAAAh4E,KAAAulD,WAAA,GAAAs1B,YAAAG,gBAAAh7E,MAAAA,KAAAi1C,YAAA,GAAA0lC,aAAA,KAAA,MAAA36E,KAAAi1C,YAAAuQ,iBAAAxlD,MAAAA,KAAAw0C,UAAA,GAAA2G,WAAA,IAAA,KAAAn7C,KAAAo/C,WAA+Qp/C,KAAA6+C,UAAA7+C,KAAAg/C,gBAAoCh/C,KAAAo7E,eAAoBp7E,KAAAsmD,SAAA,EAAAx2B,KAAA68B,SAAA,kBAAA3sD,MAAAA,KAAAq7E,gBAAA9kF,EAAAu5B,KAAA1yB,QAA2Fi3E,SAAA,gBAAA90E,KAAAq7E,OAAAU,YAAA/7E,IAAoDhJ,GAAAyJ,KAAAwlD,iBAAAhmD,GAAAQ,KAAAwkD,KAAA,eAAsDuB,SAAA,SAAmB,IAAAjuD,GAAAkI,IAAWA,MAAAu7E,uBAAAxyC,cAAAojB,8BAAA,SAAA7vD,GAAoFxE,EAAAytD,WAAAyB,UAAA,oBAAA1qD,EAAA2vD,cAAA3vD,EAAA8vD,cAA4E,KAAA,GAAA7sD,KAAAzH,GAAAknD,aAAAlnD,EAAAknD,aAAAz/C,GAAAquD,UAAyD,IAAAluD,GAAA,SAAApD,EAAAiD,GAAoB,GAAAjD,EAAArF,EAAAutD,KAAA,SAAiCt+B,MAAA5pB,QAAU,KAAA/F,EAAA89E,WAAAwE,cAAAsB,WAAAljF,EAAA4hF,cAAAt5E,IAAA,CAA+DtI,EAAAqvD,SAAA,EAAArvD,EAAAukF,WAAAj8E,EAAAtI,EAAAwkF,eAA8C,KAAA,GAAAj8E,KAAAD,GAAA+sB,QAAAr1B,EAAA6E,UAAA0D,EAAAD,EAAA+sB,QAAA9sB,GAAAjJ,EAAqDgJ,GAAAg5C,SAAAthD,EAAAshD,OAAA,GAAA+/B,aAAA/4E,EAAAg5C,OAAAthD,IAAAA,EAAA8hD,YAAA,GAAA2hC,aAAAn7E,EAAA03D,QAAAhgE,EAAAykF,WAAAzkF,EAAAutD,KAAA,QAAqHuB,SAAA,UAAiB9uD,EAAAutD,KAAA,eAAyB,iBAAAjlD,GAAA4nD,KAAAU,QAAA+yB,OAAAe,kBAAAp8E,GAAAG,GAAA8f,QAAAsqC,MAAApqD,EAAA8T,KAAAxT,KAAA,KAAAT,IAAAS,KAAAnE,GAAA,OAAA,SAAAS,GAA6H,GAAA,WAAAA,EAAAypD,UAAA,aAAAzpD,EAAA2pD,eAAA,CAAyD,GAAA1mD,GAAAtI,EAAA+nD,aAAA1iD,EAAAs/E,UAAArlC,WAA6C,IAAAh3C,GAAAA,EAAAsqD,eAAA,IAAA,GAAArqD,KAAAvI,GAAAmoD,QAAA,CAA+C,GAAA7oD,GAAAU,EAAAmoD,QAAA5/C,EAAmBjJ,GAAA0F,SAAAsD,EAAArG,IAAAjC,EAAA4kF,eAAAtlF,OAAyC,MAAA+F,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,EAAA5H,UAAAkkF,eAAA,SAAAv/E,GAAqI,GAAAiD,GAAAS,KAAAg/C,aAAA1iD,EAAAL,OAAkC,IAAAK,EAAAq0D,aAAApxD,EAAA,CAAqB,GAAAC,GAAAD,EAAAg3C,aAAoB,YAAA/2C,EAAAnG,MAAAmG,EAAAqqD,iBAAA,IAAArqD,EAAAqqD,eAAA52C,QAAA3W,EAAAq0D,eAAA3wD,KAAAwkD,KAAA,SAAyGt+B,MAAA,GAAAvmB,OAAA,iBAAArD,EAAAq0D,YAAA,+BAAAnxD,EAAAtG,GAAA,kCAAAoD,EAAApD,GAAA,SAAkIqG,EAAA5H,UAAA6gD,OAAA,WAA+B,GAAAl8C,GAAA0D,IAAW,KAAAA,KAAAsmD,QAAA,OAAA,CAA0B,IAAApvD,OAAAqY,KAAAvP,KAAA87E,iBAAAnjF,OAAA,OAAA,CAAqD,KAAA,GAAA4G,KAAAjD,GAAA0iD,aAAA,IAAA1iD,EAAA0iD,aAAAz/C,GAAAi5C,SAAA,OAAA,CAAoE,SAAAx4C,KAAAu4C,SAAAv4C,KAAAu4C,OAAAC,WAA4Cj5C,EAAA5H,UAAA+jF,SAAA,WAAiC,GAAAp/E,GAAA0D,KAAAT,EAAAk2D,MAAAz1D,KAAAw7E,WAAAjzD,OAA2CvoB,MAAA6+C,OAAAt/C,EAAAvE,IAAA,SAAAsB,GAA8B,MAAAA,GAAApD,KAAY8G,KAAAo/C,UAAkB,KAAA,GAAA5/C,GAAA,EAAAjJ,EAAAgJ,EAAgBC,EAAAjJ,EAAAoC,OAAW6G,GAAA,EAAA,CAAM,GAAAvI,GAAAV,EAAAiJ,IAAWvI,EAAAwjF,WAAA94E,OAAA1K,IAAAuuD,iBAAAlpD,GAA6CG,OAAOvD,GAAAjC,EAAAiC,MAASoD,EAAA8iD,QAAAnoD,EAAAiC,IAAAjC,EAAoB+I,KAAAulD,WAAAyB,UAAA,YAAAhnD,KAAA+7E,iBAAA/7E,KAAA6+C,SAAA7+C,KAAA8xC,MAAA,GAAAknC,OAAAh5E,KAAAw7E,WAAA1pC,QAAsHvyC,EAAA5H,UAAAokF,iBAAA,SAAAz/E,GAA0C,GAAAiD,GAAAS,IAAW,OAAA1D,GAAAtB,IAAA,SAAAsB,GAAyB,MAAAiD,GAAA6/C,QAAA9iD,GAAAmxB,eAAkCluB,EAAA5H,UAAAqkF,cAAA,SAAA1/E,EAAAiD,GAAyC,GAAAC,GAAAQ,IAAW,IAAAA,KAAAsmD,QAAA,CAAiBhqD,EAAAA,MAAAiD,EAAAA,IAAc43D,YAAA,EAAe,IAAA5gE,GAAAyJ,KAAAw7E,WAAArkB,eAAoClgE,EAAA+I,KAAAi8E,sBAAAj8E,KAAAo/C,QAAAp/C,KAAAk8E,kBAAmE,KAAA,GAAApkF,KAAAb,GAAA,CAAgB,GAAAyI,GAAAF,EAAA4/C,QAAAtnD,GAAAP,EAAAiI,EAAA08E,mBAAApkF,EAA6C,IAAA0H,EAAAy8E,uBAAA1kF,EAAAq2E,IAAAluE,EAAAy8E,uBAAA7/E,EAAAiD,EAAAhJ,EAAAiJ,EAAAi3C,cAAAj3C,EAAA47E,iBAAgG,KAAA,GAAA5kF,KAAAe,GAAAiI,EAAA4/C,QAAAtnD,GAAAskF,sBAAA5lF,EAAA8F,EAAAiD,EAAAhJ,EAAAiJ,EAAAi3C,cAAAj3C,EAAA47E,aAA8Fp7E,KAAA8xC,MAAAooC,uBAAA36E,EAAAhJ,EAAAyJ,KAAAy2C,iBAA2Dl3C,EAAA5H,UAAA0kF,aAAA,SAAA//E,GAAsC,GAAAiD,GAAAS,IAAW,IAAAA,KAAAsmD,QAAA,CAAiB,IAAA,GAAA9mD,KAAAD,GAAAy/C,aAAAz/C,EAAAy/C,aAAAx/C,GAAA6vD,MAAA,CAAsDrvD,MAAAs8E,mBAAAhgF,EAA2B,KAAA,GAAA/F,GAAA,EAAAU,EAAAsI,EAAAs/C,OAAuBtoD,EAAAU,EAAA0B,OAAWpC,GAAA,EAAA,CAAM,GAAAuB,GAAAb,EAAAV,GAAAmJ,EAAAH,EAAA6/C,QAAAtnD,EAA0B4H,GAAAs1D,YAAA14D,IAAAoD,EAAA6/C,SAAAjjD,IAAAoD,EAAAzD,SAAAsD,EAAAy/C,aAAAt/C,EAAAzD,QAAAozD,MAAA,GAA8ErvD,KAAA8xC,MAAAkjB,YAAA14D,EAAoC4D,MAAAwN,MAAA1N,KAAA2H,KAAAzH,KAAAwN,MAAApR,IAAA0D,KAAAy2C,cAAAtmC,IAAV,KAAUnQ,KAAA2H,EAAArL,IAAwEiD,EAAA5H,UAAA2kF,mBAAA,SAAAhgF,GAA4C,GAAAiD,GAAAS,KAAAo7E,gBAAuB,KAAA77E,EAAAg9E,kBAAAh9E,EAAAg9E,gBAAAr8E,KAAAwN,MAAApR,GAAAiD,EAAAi9E,oBAAA,EAAAj9E,EAAAk9E,SAAAngF,GAAA4D,KAAAwN,MAAAnO,EAAAk9E,UAAAv8E,KAAAwN,MAAApR,IAAAiD,EAAAg9E,gBAAAr8E,KAAAwN,MAAApR,GAAAiD,EAAAi9E,oBAAA36D,KAAAC,OAAA5hB,KAAAwN,MAAAnO,EAAAk9E,UAAAv8E,KAAAwN,MAAApR,KAAAiD,EAAAg9E,gBAAAr8E,KAAAwN,MAAApR,EAAA,GAAAiD,EAAAi9E,oBAAA36D,KAAAC,OAAAviB,EAAAk9E,SAAAngF,GAAmUiD,EAAA5H,UAAA+kF,aAAA,WAAqC,IAAA18E,KAAAsmD,QAAA,KAAA,IAAA3mD,OAAA,8BAA8DJ,EAAA5H,UAAAk2D,OAAA,SAAAvxD,EAAAiD,GAAkC,GAAAC,GAAAQ,IAAW,IAAAA,KAAA28E,SAAA,CAAkB,GAAApmF,GAAAW,OAAAqY,KAAAvP,KAAA48E,gBAAA3lF,EAAAC,OAAAqY,KAAAvP,KAAA68E,iBAA0EtmF,EAAAoC,QAAA1B,EAAA0B,QAAAqH,KAAA88E,sBAAA98E,KAAA+8E,oBAAAxmF,EAAAU,EAA8E,KAAA,GAAAa,KAAA0H,GAAAs8E,gBAAA,CAAgC,GAAAp8E,GAAAF,EAAAs8E,gBAAAhkF,EAA2B,YAAA4H,EAAAF,EAAAw9E,cAAAllF,GAAA,UAAA4H,GAAAF,EAAAy9E,aAAAnlF,GAA+DkI,KAAAg8E,cAAA1/E,EAAAiD,GAAAS,KAAAq7E,gBAAAr7E,KAAAwkD,KAAA,QAA+DuB,SAAA,YAAoBxmD,EAAA5H,UAAAolF,oBAAA,SAAAzgF,EAAAiD,GAA+C,GAAAC,GAAAQ,KAAAzJ,EAAAyJ,KAAA88E,oBAAA98E,KAAA6+C,OAAA9rC,OAAA,SAAAzW,GAAqE,MAAA,WAAAkD,EAAA4/C,QAAA9iD,GAAAjD,OAAmC,IAAO2G,MAAAulD,WAAAyB,UAAA,gBAA0Cz+B,OAAAvoB,KAAA+7E,iBAAAz/E,GAAA83D,WAAA70D,EAAA80D,YAAA99D,KAA6DgJ,EAAA5H,UAAA0jF,cAAA,WAAsCr7E,KAAA28E,UAAA,EAAA38E,KAAA48E,kBAAuC58E,KAAA68E,kBAAuB78E,KAAA88E,qBAAA,EAAA98E,KAAA87E,mBAAoD97E,KAAAk8E,sBAA2Bl8E,KAAAi8E,uBAAA,GAA+B18E,EAAA5H,UAAAulF,SAAA,SAAA5gF,GAAkC,GAAAiD,GAAAS,IAAW,IAAAA,KAAA08E,eAAA7D,cAAAsB,WAAAn6E,KAAA64E,cAAAv8E,IAAA,OAAA,GAAgFA,EAAAwzB,KAAA1yB,UAAgBd,IAAAisB,OAAAktC,MAAAn5D,EAAAisB,OAA6B,IAAA/oB,GAAAy7E,KAAAj7E,KAAAytB,YAAAnxB,GAAAyW,OAAA,SAAAzW,GAAkD,QAAAA,EAAAguB,UAAA6wD,yBAA8C,IAAA,IAAA37E,EAAA7G,OAAA,OAAA,CAAyB,IAAApC,GAAAiJ,EAAAuT,OAAA,SAAAzW,GAA2B,QAAAA,EAAAguB,UAAA4wD,2BAAgD,IAAA3kF,EAAAoC,OAAA,EAAA,KAAA,IAAAgH,OAAA,kBAAApJ,EAAAyE,IAAA,SAAAsB,GAAkE,MAAAA,GAAAguB,UAAiBrsB,KAAA,MAAA,IAAkB,OAAAuB,GAAAwT,QAAA,SAAA1W,GAA6B,kBAAAA,EAAAguB,SAAA/qB,EAAAjD,EAAAguB,SAAA/K,MAAAhgB,EAAAjD,EAAA05D,QAA0Dh2D,KAAAw7E,WAAAl/E,GAAA,GAAuBiD,EAAA5H,UAAAmE,UAAA,SAAAQ,EAAAiD,EAAAC,GAAuC,GAAAjJ,GAAAyJ,IAAW,IAAAA,KAAA08E,mBAAA,KAAA18E,KAAAg/C,aAAA1iD,GAAA,KAAA,IAAAqD,OAAA,yCAA+G,KAAAJ,EAAAlG,KAAA,KAAA,IAAAsG,OAAA,wFAAAzI,OAAAqY,KAAAhQ,GAAA,IAA2N,OAApF,SAAA,SAAA,UAAA,QAAA,QAAA,UAAA0T,QAAA1T,EAAAlG,OAAA,KAAoF2G,KAAAk5E,UAAAL,cAAA58E,OAAA,WAAAK,EAAAiD,EAAA,KAAAC,GAAA,CAAoE,GAAAE,GAAAM,KAAAg/C,aAAA1iD,GAAA,GAAAs/C,aAAAt/C,EAAAiD,EAAAS,KAAAulD,WAAgE7lD,GAAAtE,MAAA4E,KAAAN,EAAA8lD,iBAAAxlD,KAAA,WAAgD,OAAOm9E,eAAA5mF,EAAAiiD,SAAAv8C,OAAAyD,EAAA+tB,YAAAmuD,SAAAt/E,KAA2DoD,EAAAqlD,MAAA/kD,KAAAhF,KAAAgF,KAAA28E,UAAA,IAAsCp9E,EAAA5H,UAAAowD,aAAA,SAAAzrD,GAAsC,GAAA0D,KAAA08E,mBAAA,KAAA18E,KAAAg/C,aAAA1iD,GAAA,KAAA,IAAAqD,OAAA,kCAAwG,IAAAJ,GAAAS,KAAAg/C,aAAA1iD,SAA2B0D,MAAAg/C,aAAA1iD,SAAA0D,MAAA87E,gBAAAx/E,GAAAiD,EAAAimD,iBAAA,MAAAjmD,EAAAywD,aAAAzwD,EAAAwnD,UAAAxnD,EAAAwnD,SAAA/mD,KAAAhF,KAAAgF,KAAA28E,UAAA,GAAqJp9E,EAAA5H,UAAA4+C,UAAA,SAAAj6C,GAAmC,MAAA0D,MAAAg/C,aAAA1iD,IAAA0D,KAAAg/C,aAAA1iD,GAAAi6C,aAA8Dh3C,EAAA5H,UAAAoE,SAAA,SAAAO,EAAAiD,EAAAC,GAAsCQ,KAAA08E,cAAoB,IAAAnmF,GAAA+F,EAAApD,EAAW,IAAA,gBAAAoD,GAAAL,SAAA+D,KAAAlE,UAAAvF,EAAA+F,EAAAL,QAAAK,EAAAwzB,KAAA1yB,OAAAd,GAA2EL,OAAA1F,MAASyJ,KAAAk5E,UAAAL,cAAAp8E,MAAA,UAAAlG,EAAA+F,GAAsDi4E,YAAA,GAAc/0E,GAAA,CAAK,GAAAvI,GAAAwjF,WAAA94E,OAAArF,EAA2B0D,MAAA67E,eAAA5kF,GAAAA,EAAAuuD,iBAAAxlD,MAAgDvD,OAAOvD,GAAA3C,IAAQ,IAAAuB,GAAAyH,EAAAS,KAAA6+C,OAAA5rC,QAAA1T,GAAAS,KAAA6+C,OAAAlmD,MAAkD,IAAAqH,KAAA6+C,OAAAz6C,OAAAtM,EAAA,EAAAvB,GAAAyJ,KAAAo/C,QAAA7oD,GAAAU,EAAA+I,KAAA68E,eAAAtmF,IAAAU,EAAAgF,OAAA,CAAiF,GAAAyD,GAAAM,KAAA68E,eAAAtmF,SAA6ByJ,MAAA68E,eAAAtmF,GAAAyJ,KAAA87E,gBAAA7kF,EAAAgF,QAAAyD,EAAArG,OAAApC,EAAAoC,KAAA,QAAA,SAA8F2G,KAAAo9E,aAAAnmF,GAAA,WAAAA,EAAAoC,OAAA2G,KAAA88E,qBAAA,GAAA98E,KAAAy7E,cAAAllF,KAA6FgJ,EAAA5H,UAAA0lF,UAAA,SAAA/gF,EAAAiD,GAAqCS,KAAA08E,eAAA18E,KAAA28E,UAAA,CAAqC,IAAAn9E,GAAAQ,KAAAo/C,QAAA9iD,EAAsB,IAAAkD,EAAA,CAAmI,GAAAjJ,GAAAyJ,KAAA6+C,OAAA5rC,QAAA3W,EAA6B0D,MAAA6+C,OAAAz6C,OAAA7N,EAAA,EAAwB,IAAAU,GAAAsI,EAAAS,KAAA6+C,OAAA5rC,QAAA1T,GAAAS,KAAA6+C,OAAAlmD,MAAkDqH,MAAA6+C,OAAAz6C,OAAAnN,EAAA,EAAAqF,GAAA,WAAAkD,EAAAnG,OAAA2G,KAAA88E,qBAAA,EAAAt9E,EAAAvD,SAAA+D,KAAA87E,gBAAAt8E,EAAAvD,UAAA+D,KAAA87E,gBAAAt8E,EAAAvD,QAAA,eAA1O+D,MAAAwkD,KAAA,SAAqCt+B,MAAA,GAAAvmB,OAAA,cAAArD,EAAA,+DAAqWiD,EAAA5H,UAAA2+D,YAAA,SAAAh6D,GAAqC0D,KAAA08E,cAAoB,IAAAn9E,GAAAS,KAAAo/C,QAAA9iD,EAAsB,IAAAiD,EAAA,CAAqIA,EAAAimD,iBAAA,KAAyB,IAAAhmD,GAAAQ,KAAA6+C,OAAA5rC,QAAA3W,EAA6B0D,MAAA6+C,OAAAz6C,OAAA5E,EAAA,GAAA,WAAAD,EAAAlG,OAAA2G,KAAA88E,qBAAA,GAAA98E,KAAA28E,UAAA,EAAA38E,KAAA68E,eAAAvgF,GAAAiD,QAAAS,MAAAo/C,QAAA9iD,SAAA0D,MAAA48E,eAAAtgF,SAAA0D,MAAAk8E,mBAAA5/E,OAA3L0D,MAAAwkD,KAAA,SAAqCt+B,MAAA,GAAAvmB,OAAA,cAAArD,EAAA,iEAAgWiD,EAAA5H,UAAA+4B,SAAA,SAAAp0B,GAAkC,MAAA0D,MAAAo/C,QAAA9iD,IAAuBiD,EAAA5H,UAAA++D,kBAAA,SAAAp6D,EAAAiD,EAAAC,GAA+CQ,KAAA08E,cAAoB,IAAAnmF,GAAAyJ,KAAA0wB,SAAAp0B,EAAuB,OAAA/F,QAAAA,EAAAkwC,UAAAlnC,GAAAhJ,EAAAmwC,UAAAlnC,IAAA,MAAAD,IAAAhJ,EAAAkwC,QAAAlnC,GAAA,MAAAC,IAAAjJ,EAAAmwC,QAAAlnC,GAAAQ,KAAAo9E,aAAA7mF,SAAAyJ,MAAAwkD,KAAA,SAA0It+B,MAAA,GAAAvmB,OAAA,cAAArD,EAAA,uEAAsGiD,EAAA5H,UAAA8+D,UAAA,SAAAn6D,EAAAiD,GAAqCS,KAAA08E,cAAoB,IAAAl9E,GAAAQ,KAAA0wB,SAAAp0B,EAAuB,OAAAkD,QAAA,OAAAD,OAAA,KAAAA,GAAAS,KAAAk5E,UAAAL,cAAA9lE,OAAA,UAAAvT,EAAAtG,GAAA,UAAAqG,IAAAuwB,KAAAwtD,UAAA99E,EAAAuT,OAAAxT,KAAAC,EAAAuT,OAAA+c,KAAAlT,MAAArd,GAAAS,KAAAo9E,aAAA59E,SAAAQ,MAAAwkD,KAAA,SAAwMt+B,MAAA,GAAAvmB,OAAA,cAAArD,EAAA,kEAAiGiD,EAAA5H,UAAA4lF,UAAA,SAAAjhF,GAAmC,MAAAwzB,MAAAlT,MAAA5c,KAAA0wB,SAAAp0B,GAAAyW,SAA2CxT,EAAA5H,UAAA4+D,kBAAA,SAAAj6D,EAAAiD,EAAAC,GAA+CQ,KAAA08E,cAAoB,IAAAnmF,GAAAyJ,KAAA0wB,SAAAp0B,EAAuB,OAAA/F,QAAAu5B,KAAAwtD,UAAA/mF,EAAA0+B,kBAAA11B,GAAAC,KAAAjJ,EAAAggE,kBAAAh3D,EAAAC,GAAAQ,KAAAo9E,aAAA7mF,SAAAyJ,MAAAwkD,KAAA,SAAiIt+B,MAAA,GAAAvmB,OAAA,cAAArD,EAAA,gEAA+FiD,EAAA5H,UAAAs9B,kBAAA,SAAA34B,EAAAiD,GAA6C,MAAAS,MAAA0wB,SAAAp0B,GAAA24B,kBAAA11B,IAA6CA,EAAA5H,UAAA6+D,iBAAA,SAAAl6D,EAAAiD,EAAAC,EAAAjJ,GAAgDyJ,KAAA08E,cAAoB,IAAAzlF,GAAA+I,KAAA0wB,SAAAp0B,EAAuB,IAAArF,GAAoI,IAAA64B,KAAAwtD,UAAArmF,EAAAo5C,iBAAA9wC,EAAAhJ,GAAAiJ,GAAA,CAA+C,GAAA1H,GAAAb,EAAA+oC,4BAAAzgC,EAAuCtI,GAAAu/D,iBAAAj3D,EAAAC,EAAAjJ,KAA0BiJ,GAAAu7E,iBAAAnhB,qBAAAp6D,IAAA,UAAAA,EAAA9H,cAAA,KAAA8H,EAAA9H,WAAgGI,GAAAkI,KAAAo9E,aAAAnmF,GAAA+I,KAAAy7E,cAAAn/E,EAAAiD,QAApVS,MAAAwkD,KAAA,SAAqCt+B,MAAA,GAAAvmB,OAAA,cAAArD,EAAA,gEAAmWiD,EAAA5H,UAAA04C,iBAAA,SAAA/zC,EAAAiD,EAAAC,GAA8C,MAAAQ,MAAA0wB,SAAAp0B,GAAA+zC,iBAAA9wC,EAAAC,IAA8CD,EAAA5H,UAAA8mD,cAAA,WAAsC,MAAA3uB,MAAA1yB,QAAoBshD,SAAA,IAAA4zB,MAAA,GAAqBtyE,KAAAw7E,YAAAx7E,KAAAw7E,WAAArkB,aAA8C53D,EAAA5H,UAAA8jF,cAAA,SAAAn/E,EAAAiD,GAAyC,GAAAS,KAAA28E,UAAA,EAAArgF,EAAA,CAAuB,GAAAkD,GAAAQ,KAAAk8E,kBAA8B18E,GAAAlD,KAAAkD,EAAAlD,OAAckD,EAAAlD,GAAAiD,GAAA,QAAA,MAAoBS,MAAAi8E,uBAAA,GAAmC18E,EAAA5H,UAAA81B,UAAA,WAAkC,GAAAnxB,GAAA0D,IAAW,OAAA8vB,MAAA0tD,cAA0B13E,QAAA9F,KAAAw7E,WAAA11E,QAAA/O,KAAAiJ,KAAAw7E,WAAAzkF,KAAA0xE,SAAAzoE,KAAAw7E,WAAA/S,SAAA32B,MAAA9xC,KAAAw7E,WAAA1pC,MAAAz2C,OAAA2E,KAAAw7E,WAAAngF,OAAAC,KAAA0E,KAAAw7E,WAAAlgF,KAAAskC,QAAA5/B,KAAAw7E,WAAA57C,QAAA4F,MAAAxlC,KAAAw7E,WAAAh2C,MAAA+S,OAAAv4C,KAAAw7E,WAAAjjC,OAAA0e,OAAAj3D,KAAAw7E,WAAAvkB,OAAAE,WAAAn3D,KAAAw7E,WAAArkB,WAAA7qC,QAAAwD,KAAAS,UAAAvwB,KAAAg/C,aAAA,SAAA1iD,GAAmY,MAAAA,GAAAmxB,cAAqBlF,OAAAvoB,KAAA6+C,OAAA7jD,IAAA,SAAAuE,GAAqC,MAAAjD,GAAA8iD,QAAA7/C,GAAAkuB,eAAkC,SAAAnxB,GAAa,WAAA,KAAAA,KAAoBiD,EAAA5H,UAAAylF,aAAA,SAAA9gF,GAAsC0D,KAAA48E,eAAAtgF,EAAApD,KAAA,EAAAoD,EAAAL,SAAA+D,KAAA87E,gBAAAx/E,EAAAL,UAAA+D,KAAA87E,gBAAAx/E,EAAAL,QAAA,UAAA+D,KAAA28E,UAAA,GAAmIp9E,EAAA5H,UAAA8lF,yBAAA,SAAAnhF,GAAkD,IAAA,GAAAiD,GAAAS,KAAAR,KAAAjJ,EAAAyJ,KAAA6+C,OAAAlmD,OAAA,EAA2CpC,GAAA,EAAKA,IAAA,IAAA,GAAAU,GAAAsI,EAAAs/C,OAAAtoD,GAAAuB,EAAA,EAAA4H,EAAApD,EAAkCxE,EAAA4H,EAAA/G,OAAWb,GAAA,EAAA,CAAM,GAAAtB,GAAAkJ,EAAA5H,GAAAb,EAAkB,IAAAT,EAAA,IAAA,GAAAM,GAAA,EAAA2I,EAAAjJ,EAAqBM,EAAA2I,EAAA9G,OAAW7B,GAAA,EAAA,CAAM,GAAAyJ,GAAAd,EAAA3I,EAAW0I,GAAA5E,KAAA2F,IAAW,MAAAf,IAASD,EAAA5H,UAAA4E,sBAAA,SAAAD,EAAAiD,EAAAC,EAAAjJ,GAAqD,GAAAU,GAAA+I,IAAWT,IAAAA,EAAAwT,QAAA/S,KAAAk5E,UAAAL,cAAA9lE,OAAA,+BAAAxT,EAAAwT,OAA0F,IAAAjb,KAAS,IAAAyH,GAAAA,EAAAgpB,OAAA,CAAgB,IAAAxY,MAAAuD,QAAA/T,EAAAgpB,QAAA,WAAAvoB,MAAAwkD,KAAA,SAA2Dt+B,MAAA,uCAA8C,KAAA,GAAAxmB,GAAA,EAAAnI,EAAAgI,EAAAgpB,OAAuB7oB,EAAAnI,EAAAoB,OAAW+G,GAAA,EAAA,CAAM,GAAAlJ,GAAAe,EAAAmI,GAAA5I,EAAAG,EAAAmoD,QAAA5oD,EAA0B,KAAAM,EAAA,WAAAG,GAAAutD,KAAA,SAAkCt+B,MAAA,cAAA1vB,EAAA,2EAAkGsB,GAAAhB,EAAAmF,SAAA,GAAgB,GAAAwD,KAAS,KAAA,GAAAc,KAAAtJ,GAAA+nD,aAAA,IAAAz/C,EAAAgpB,QAAAzwB,EAAAyI,GAAA,CAAgD,GAAA3J,GAAAkkF,cAAA1wB,SAAAnzD,EAAA+nD,aAAAz+C,GAAAtJ,EAAAmoD,QAAA9iD,EAAAiD,EAAAC,EAAAjJ,EAAkEkJ,GAAA7E,KAAAhE,GAAU,MAAAoJ,MAAAy9E,yBAAAh+E,IAAwCF,EAAA5H,UAAA8yD,oBAAA,SAAAnuD,EAAAiD,GAA+CA,GAAAA,EAAAwT,QAAA/S,KAAAk5E,UAAAL,cAAA9lE,OAAA,6BAAAxT,EAAAwT,OAAwF,IAAAvT,GAAAQ,KAAAg/C,aAAA1iD,EAA2B,OAAAkD,GAAAs7E,cAAA7+E,OAAAuD,EAAAD,OAAsCA,EAAA5H,UAAA+lF,cAAA,SAAAphF,EAAAiD,EAAAC,GAA2C,MAAAguD,QAAAZ,QAAAtwD,GAAAkD,EAAA,GAAAG,OAAA,yBAAArD,EAAA,uBAAAkxD,OAAAX,QAAAvwD,EAAAiD,GAAAA,EAAAo+E,oBAAA39E,MAAAulD,WAAAyB,UAAA,oBAAgLjwD,KAAAuF,EAAA6pD,IAAA5mD,EAAAo+E,iBAA6Bn+E,GAAAA,EAAA,KAAA,QAAkBD,EAAA5H,UAAA2hF,SAAA,WAAiC,MAAAt5E,MAAA8xC,MAAAwnC,YAA6B/5E,EAAA5H,UAAAk6C,SAAA,SAAAv1C,EAAAiD,GAAoCS,KAAA08E,cAAoB,IAAAl9E,GAAAQ,KAAA8xC,MAAAwnC,WAAA/iF,GAAA,CAAiC,KAAA,GAAAU,KAAAqF,GAAA,IAAAwzB,KAAAwtD,UAAAhhF,EAAArF,GAAAuI,EAAAvI,IAAA,CAA8CV,GAAA,CAAK,OAAM,GAAAA,EAAA,CAAM,GAAAuB,GAAAkI,KAAAw7E,WAAArkB,cAAqCn3D,MAAA8xC,MAAAD,SAAAv1C,GAAA0D,KAAA8xC,MAAAooC,uBAAA36E,IAA6D43D,YAAA,GAAcr/D,EAAAkI,KAAAy2C,iBAAwBl3C,EAAA5H,UAAAuhF,UAAA,SAAA58E,EAAAiD,EAAAC,EAAAjJ,EAAAU,GAA2C,QAAAA,IAAA,IAAAA,EAAAo9E,WAAAwE,cAAAsB,WAAAn6E,KAAA1D,EAAA5F,KAAAmiF,cAAA/oD,KAAA1yB,QAA6FitB,IAAA9qB,EAAAnE,MAAA4E,KAAAytB,YAAA52B,MAAA2I,EAAA6zE,UAAAA,WAAyD98E,MAAMgJ,EAAA5H,UAAAimF,QAAA,WAAgC,GAAAthF,GAAA0D,IAAW+oC,eAAAmjB,QAAApsC,IAAA,kBAAA9f,KAAAu7E,uBAAyE,KAAA,GAAAh8E,KAAAjD,GAAA0iD,aAAA1iD,EAAA0iD,aAAAz/C,GAAAywD,YAA2DhwD,MAAAulD,WAAAwK,UAAyBxwD,EAAA5H,UAAAslF,aAAA,SAAA3gF,GAAsC0D,KAAAg/C,aAAA1iD,GAAA0zD,cAAkCzwD,EAAA5H,UAAAqlF,cAAA,SAAA1gF,GAAuC0D,KAAAg/C,aAAA1iD,GAAAsxD,UAA8BruD,EAAA5H,UAAAkmF,eAAA,SAAAvhF,GAAwC,GAAAiD,GAAAS,IAAW,KAAA,GAAAR,KAAAD,GAAAy/C,aAAAz/C,EAAAy/C,aAAAx/C,GAAAquD,OAAAvxD,IAAwDiD,EAAA5H,UAAAmmF,eAAA,WAAuC,GAAAxhF,GAAA0D,IAAW,KAAA,GAAAT,KAAAjD,GAAA0iD,aAAA1iD,EAAA0iD,aAAAz/C,GAAAqnD,iBAA8DrnD,EAAA5H,UAAAomF,SAAA,SAAAzhF,EAAAiD,EAAAC,GAAsC,GAAAjJ,GAAAyJ,KAAA/I,EAAA,WAAwBV,EAAA0+C,YAAAsG,UAAAhlD,EAAAgiD,QAAAhiD,EAAA0+C,YAAA+oC,SAAAz+E,EAAAg2D,MAAA/1D,KAAqEQ,KAAAu4C,QAAAv4C,KAAAu4C,OAAAC,SAAAvhD,IAAA+I,KAAAu4C,OAAA18C,GAAA,OAAA5E,IAAgEsI,EAAA5H,UAAAsmF,UAAA,SAAA3hF,EAAAiD,EAAAC,GAAuC,QAAAjJ,GAAA+F,EAAAiD,EAAAhJ,GAAkB+F,GAAAwP,QAAAoa,MAAA5pB,GAAA/E,EAAAhB,GAAAgJ,EAAA,MAAAG,GAAAF,EAAA,KAAAjI,GAAgD,GAAAN,GAAA+I,KAAAlI,EAAAyH,EAAA+1D,OAAA51D,EAAAxI,OAAAqY,KAAAzX,GAAAa,OAAApB,IAAmD,KAAA,GAAAf,KAAAsB,GAAAb,EAAA8hD,YAAAmlC,gBAAA1nF,EAAAsB,EAAAtB,GAAA+I,EAAAoQ,IAAApZ,IAA6DgJ,GAAGspC,QAAUvyC,QAAAD,QAAAuyC,QACh7du1C,uBAAA,GAAAC,2BAAA,GAAAC,4BAAA,GAAAC,mBAAA,GAAAj9B,yBAAA,GAAAk9B,sBAAA,IAAAC,qBAAA,IAAArkC,yBAAA,IAAAigC,iCAAA,IAAAqE,yBAAA,IAAAC,yBAAA,IAAA12B,eAAA,IAAA1b,kBAAA,IAAAqyC,qBAAA,IAAA13B,kBAAA,IAAA23B,6BAAA,IAAA70B,iBAAA,IAAAn5B,eAAA,IAAAiuD,mBAAA,IAAAC,iBAAA,IAAAC,UAAA,IAAAC,gBAAA,IAAAzE,mBAAA,MAA8jB0E,KAAA,SAAAn/E,QAAAxJ,OAAAD,SACjkB,YAAa,IAAAsjE,gBAAA75D,QAAA,0BAAAgwB,KAAAhwB,QAAA,gBAAAg5E,iBAAA,SAAAv5E,EAAAhJ,GAAiH,GAAAU,GAAA+I,IAAW,IAAAA,KAAAnJ,MAAAi5B,KAAAlT,MAAArmB,GAAAyJ,KAAA+jB,WAAA41C,eAAAC,qBAAArjE,GAAAyJ,KAAA85E,KAAA/sE,KAAAC,UAAAhN,KAAAnJ,OAAAmJ,KAAA+oE,QAAAxpE,EAAAwpE,QAAA/oE,KAAA85D,SAAAH,eAAA35D,KAAAnJ,MAAA0I,GAAAS,KAAAu0B,kBAAAv0B,KAAA85D,SAAAvlC,kBAAAv0B,KAAAy0B,eAAAz0B,KAAA85D,SAAArlC,eAAAz0B,KAAAu0B,mBAAAv0B,KAAAy0B,gBAA+U,IAAAz0B,KAAAy0B,eAAA,CAAyBz0B,KAAAk/E,iBAAuB,KAAA,GAAA3nF,GAAA,EAAAO,EAAAb,EAAAJ,MAAAgjE,MAA4BtiE,EAAAO,EAAAa,OAAWpB,GAAA,EAAA,CAAM,GAAA+E,GAAAxE,EAAAP,EAAWN,GAAAioF,eAAAjsE,QAAA3W,EAAA,IAAA,GAAArF,EAAAioF,eAAAtkF,KAAA0B,EAAA,UAAgE,CAAK0D,KAAAk/E,iBAAuB,KAAA,GAAAx/E,MAAAD,EAAA,EAAAjJ,EAAAS,EAAAJ,MAAAgjE,MAAiCp6D,EAAAjJ,EAAAmC,OAAW8G,GAAA,EAAA,CAAM,GAAA7I,GAAAJ,EAAAiJ,GAAA,GAAAnE,IAAuBrE,GAAAioF,eAAAjsE,QAAArc,GAAA,IAAAK,EAAAioF,eAAAtkF,KAAAhE,GAAA8I,EAAA9E,MAAAhE,EAAA8I,EAAA/G,UAA+EqH,KAAAm/E,wBAAAxlB,gBAA6CtgE,KAAA,cAAAwgE,MAAAn6D,EAAAw1B,KAAA3+B,EAAA2+B,OAAyC77B,KAAA,YAAkBy/E,kBAAAnhF,UAAA+hF,UAAA,SAAAn6E,EAAAhJ,GAAmD,GAAAU,GAAA+I,KAAA85D,SAAAv6D,GAAAA,EAAAjE,KAAA/E,MAAqC,YAAA,KAAAyJ,KAAA+oE,SAAA9xE,EAAA+I,KAAA+oE,QAAA/oE,KAAA+oE,QAAA9xE,GAA4D6hF,iBAAAnhF,UAAAynF,wBAAA,SAAA7/E,GAAgE,MAAAS,MAAAu0B,mBAAAv0B,KAAAy0B,eAAA,EAAAz0B,KAAAm/E,wBAAA5/E,GAAAA,EAAAjE,UAAgGhF,OAAAD,QAAAyiF,mBAC7sC3+B,yBAAA,IAAAvpB,eAAA,MAAgDyuD,KAAA,SAAAv/E,QAAAxJ,OAAAD,SACnD,YAAa,SAAAipF,qBAAA//E,GAAgC,MAAAA,GAAA1I,MAAe,GAAAi5B,MAAAhwB,QAAA,gBAAAi5E,gBAAAj5E,QAAA,sBAAAg5E,iBAAAh5E,QAAA,uBAAAuzE,UAAAvzE,QAAA,kCAAA+4E,cAAA/4E,QAAA,oBAAAi6D,WAAAj6D,QAAA,oCAAA26E,WAAA,SAAAl7E,GAA8W,QAAAhJ,GAAAA,GAAc,GAAAmJ,GAAAM,IAAWT,GAAA7I,KAAAsJ,MAAAA,KAAA9G,GAAA3C,EAAA2C,GAAA8G,KAAAyoE,SAAAlyE,EAAAkyE,SAAAzoE,KAAA3G,KAAA9C,EAAA8C,KAAA2G,KAAA/D,OAAA1F,EAAA0F,OAAA+D,KAAA2wD,YAAAp6D,EAAA,gBAAAyJ,KAAAymC,QAAAlwC,EAAAkwC,QAAAzmC,KAAA0mC,QAAAnwC,EAAAmwC,QAAA1mC,KAAA+S,OAAAxc,EAAAwc,OAAA/S,KAAAoqC,SAA4MpqC,KAAA9D,UAAe8D,KAAAihC,qBAAAoyC,UAAA,SAAArzE,KAAA3G,MAAA2G,KAAAu/E,sBAAAlM,UAAA,UAAArzE,KAAA3G,MAAA2G,KAAAw/E,qBAA4Ix/E,KAAAy/E,2BAAgCz/E,KAAA0/E,sBAA2B1/E,KAAA2/E,uBAA4B3/E,KAAA4/E,mBAA0B,IAAAtjF,GAAArF,EAAAM,GAAW88E,UAAA,EAAa,KAAA,GAAA70E,KAAAjJ,GAAA,CAAgB,GAAAuB,GAAA0H,EAAAslB,MAAA,qBAAoC,IAAAhtB,EAAA,CAAM,GAAAtB,GAAAsB,EAAA,IAAA,EAAe,KAAAwE,IAAA/F,GAAAiJ,GAAAE,EAAA82D,iBAAAl6D,EAAA/F,EAAAiJ,GAAAlD,GAAA9F,EAAAe,IAAiD,IAAAN,IAAAV,GAAA2F,OAAAwD,EAAA62D,kBAAAt/D,EAAAV,EAAA2F,OAAAjF,GAAAM,EAAuD,KAAA+E,IAAAoD,GAAAuhC,qBAAAvhC,EAAA0qC,MAAA9tC,GAAAoD,EAAA+/B,cAAAnjC,EAA8D,KAAArF,IAAAyI,GAAA6/E,sBAAA7/E,EAAAmgF,mBAAA5oF,GAAyD,MAAAsI,KAAAhJ,EAAAi7B,UAAAjyB,GAAAhJ,EAAAoB,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAApB,EAAAoB,UAAAgrB,YAAApsB,EAAAA,EAAAoB,UAAA4+D,kBAAA,SAAAh3D,EAAAhJ,EAAAmJ,GAA4I,GAAA,MAAAnJ,QAAAyJ,MAAA2/E,oBAAApgF,OAA8C,CAAK,GAAAjD,GAAA,UAAA0D,KAAA9G,GAAA,WAAAqG,CAAqC,IAAAS,KAAAk5E,UAAAL,cAAAzB,eAAA96E,EAAAiD,EAAAhJ,EAAAmJ,GAAA,MAA+DM,MAAA2/E,oBAAApgF,GAAA,GAAAu5E,kBAAA94E,KAAAu/E,sBAAAhgF,GAAAhJ,GAAkFyJ,KAAA6/E,mBAAAtgF,IAA2BhJ,EAAAoB,UAAAs9B,kBAAA,SAAA11B,GAA2C,MAAAS,MAAA2/E,oBAAApgF,IAAAS,KAAA2/E,oBAAApgF,GAAA1I,OAAsEN,EAAAoB,UAAAi9B,eAAA,SAAAr1B,EAAAhJ,EAAAmJ,GAA4C,GAAApD,GAAA0D,KAAAu/E,sBAAAhgF,GAAAtI,EAAA+I,KAAA2/E,oBAAApgF,EAAkE,OAAAtI,GAAAA,EAAAyiF,UAAAnjF,EAAAmJ,GAAApD,EAAA7B,SAAoClE,EAAAoB,UAAA6+D,iBAAA,SAAAj3D,EAAAhJ,EAAAmJ,EAAApD,GAAgD,GAAArF,GAAA,UAAA+I,KAAA9G,IAAAwG,EAAA,WAAAA,EAAA,MAAA,WAAAH,CAA2D,IAAAuwB,KAAA0pD,SAAAj6E,EAA75D,eAA65D,GAAAS,KAAAy/E,wBAAA//E,GAAA,MAAAM,KAAAy/E,wBAAA//E,GAAA,QAAqH,OAAAnJ,OAAA,KAAAA,QAAAyJ,MAAAy/E,wBAAA//E,GAAA,IAAAH,OAAqE,CAAK,GAAAS,KAAAk5E,UAAAL,cAAA1B,cAAAlgF,EAAAsI,EAAAhJ,EAAA+F,GAAA,MAA8D0D,MAAAy/E,wBAAA//E,GAAA,IAAAH,GAAAhJ,MAAyC,IAAAyJ,KAAA0/E,mBAAAhgF,GAAA,MAAAM,KAAA0/E,mBAAAhgF,GAAA,QAA0E,OAAAnJ,OAAA,KAAAA,QAAAyJ,MAAA0/E,mBAAAhgF,GAAA,IAAAH,OAAgE,CAAK,GAAAS,KAAAk5E,UAAAL,cAAA1B,cAAAlgF,EAAAsI,EAAAhJ,EAAA+F,GAAA,MAA8D0D,MAAA0/E,mBAAAhgF,GAAA,IAAAH,GAAA,GAAAu5E,kBAAA94E,KAAAihC,qBAAA1hC,GAAAhJ,KAAwFA,EAAAoB,UAAA04C,iBAAA,SAAA9wC,EAAAhJ,GAA4C,MAAAA,GAAAA,GAAA,GAAAu5B,KAAA0pD,SAAAj6E,EAAphF,eAAohFS,KAAAy/E,wBAAAlpF,IAAAyJ,KAAAy/E,wBAAAlpF,GAAAgJ,GAAAS,KAAA0/E,mBAAAnpF,IAAAyJ,KAAA0/E,mBAAAnpF,GAAAgJ,IAAAS,KAAA0/E,mBAAAnpF,GAAAgJ,GAAA1I,OAAqNN,EAAAoB,UAAA8nC,cAAA,SAAAlgC,EAAAhJ,EAAAmJ,GAA2C,GAAApD,GAAA0D,KAAAihC,qBAAA1hC,GAAAtI,EAAA+I,KAAAw/E,kBAAAjgF,EAA+D,OAAAtI,GAAAA,EAAAyiF,UAAAnjF,EAAAmJ,GAAA,UAAApD,EAAAjD,MAAAiD,EAAA7B,QAAAs/D,WAAAz9D,EAAA7B,SAAA6B,EAAA7B,SAAsFlE,EAAAoB,UAAAsqC,4BAAA,SAAA1iC,GAAqD,GAAAhJ,GAAAyJ,KAAAw/E,kBAAAjgF,EAAgC,OAAAhJ,GAAAA,EAAAsjF,YAAAqF,mBAAyC3oF,EAAAoB,UAAAk9B,6BAAA,SAAAt1B,GAAsD,GAAAhJ,GAAAyJ,KAAA2/E,oBAAApgF,EAAkC,OAAAhJ,GAAAA,EAAA2oF,mBAA6B3oF,EAAAoB,UAAA4qC,uBAAA,SAAAhjC,EAAAhJ,GAAkF,MAAhCyJ,MAAAw/E,kBAAAjgF,GAAgCs6E,YAAAuF,wBAAA7oF,IAAgDA,EAAAoB,UAAAmoF,wBAAA,SAAAvgF,EAAAhJ,GAAqF,MAAlCyJ,MAAA2/E,oBAAApgF,GAAkC6/E,wBAAA7oF,IAAoCA,EAAAoB,UAAAqoC,4BAAA,SAAAzgC,GAAqD,GAAAhJ,GAAAyJ,KAAAw/E,kBAAAjgF,EAAgC,QAAAhJ,GAAAA,EAAAsjF,YAAAtlD,mBAA0Ch+B,EAAAoB,UAAA68B,6BAAA,SAAAj1B,GAAsD,GAAAhJ,GAAAyJ,KAAA2/E,oBAAApgF,EAAkC,QAAAhJ,GAAAA,EAAAg+B,mBAA8Bh+B,EAAAoB,UAAA8pC,yBAAA,SAAAliC,GAAkD,GAAAhJ,GAAAyJ,KAAAw/E,kBAAAjgF,EAAgC,QAAAhJ,GAAAA,EAAAsjF,YAAAplD,gBAAuCl+B,EAAAoB,UAAA+8B,0BAAA,SAAAn1B,GAAmD,GAAAhJ,GAAAyJ,KAAA2/E,oBAAApgF,EAAkC,QAAAhJ,GAAAA,EAAAk+B,gBAA2Bl+B,EAAAoB,UAAA4nD,SAAA,SAAAhgD,GAAkC,SAAAS,KAAAymC,SAAAlnC,EAAAS,KAAAymC,aAAAzmC,KAAA0mC,SAAAnnC,GAAAS,KAAA0mC,UAAA,SAAA1mC,KAAA9D,OAAAk5D,YAA6G7+D,EAAAoB,UAAAwkF,uBAAA,SAAA58E,EAAAhJ,EAAAmJ,EAAApD,EAAArF,GAAwD,IAAA,GAAAM,GAAAyI,KAAAR,EAAAswB,KAAA1yB,UAA+B4C,KAAA0/E,mBAAA,KAAA5nF,EAAA,EAAkCA,EAAAyH,EAAA5G,OAAWb,IAAAg4B,KAAA1yB,OAAAoC,EAAAjI,EAAAmoF,mBAAAngF,EAAAzH,IAA8C,IAAAtB,EAAM,KAAAA,IAAAgJ,GAAAjI,EAAAwoF,uBAAAvpF,EAAAgJ,EAAAhJ,GAAAD,EAAAmJ,EAAApD,EAAArF,EAAoD,KAAAT,IAAAe,GAAAioF,kBAAAhpF,IAAAgJ,IAAAjI,EAAAwoF,uBAAAvpF,EAAA,KAAAD,EAAAmJ,EAAApD,EAAArF,IAA8EV,EAAAoB,UAAAykF,sBAAA,SAAA78E,EAAAhJ,EAAAmJ,EAAApD,EAAArF,EAAAM,GAAyD,IAAA,GAAAiI,GAAAQ,KAAAlI,EAAAkI,KAAA0/E,mBAAA,IAAAngF,GAAA/I,EAAA,EAAoDA,EAAAD,EAAAoC,OAAWnC,IAAA,CAAK,GAAAiJ,GAAAD,EAAAkgF,mBAAAnpF,EAAAC,GAAiCiJ,IAAAA,EAAAF,KAAAzH,EAAA2H,EAAAF,IAAkBS,KAAA+/E,uBAAAxgF,EAAAzH,EAAA4H,EAAApD,EAAArF,EAAAM,IAAyChB,EAAAoB,UAAAq9D,YAAA,SAAAz1D,GAAqC,GAAAhJ,GAAAyJ,IAAW,KAAA,GAAAN,KAAAnJ,GAAAipF,kBAAAjpF,EAAA6zC,MAAA1qC,GAAAnJ,EAAAkpC,cAAA//B,GAA+DpE,KAAAiE,GAAS,KAAA,GAAAjD,KAAA/F,GAAAqpF,iBAAArpF,EAAA2F,OAAAI,GAAA/F,EAAAq+B,eAAAt4B,GAAgEhB,KAAAiE,KAAShJ,EAAAoB,UAAA81B,UAAA,WAAkC,GAAAluB,GAAAS,KAAAzJ,GAAc2C,GAAA8G,KAAA9G,GAAAG,KAAA2G,KAAA3G,KAAA4C,OAAA+D,KAAA/D,OAAAktE,eAAAnpE,KAAA2wD,YAAA8X,SAAAzoE,KAAAyoE,SAAAhiC,QAAAzmC,KAAAymC,QAAAC,QAAA1mC,KAAA0mC,QAAA3zB,OAAA/S,KAAA+S,OAAA7W,OAAA4zB,KAAAS,UAAAvwB,KAAA2/E,oBAAAL,qBAAsO,KAAA,GAAA5/E,KAAAH,GAAAmgF,mBAAmEnpF,EAAhC,KAAAmJ,EAAA,QAAA,SAAAA,GAAgCowB,KAAAS,UAAAhxB,EAAAmgF,mBAAAhgF,GAAA4/E,oBAAiE,OAAAxvD,MAAA0tD,aAAAjnF,EAAA,SAAAgJ,EAAAhJ,GAAyC,WAAA,KAAAgJ,KAAA,WAAAhJ,IAAAW,OAAAqY,KAAAhQ,GAAA5G,WAA6DpC,EAAAoB,UAAAooF,uBAAA,SAAAxgF,EAAAhJ,EAAAmJ,EAAApD,EAAArF,EAAAM,GAA0D,GAAAiI,GAAAE,EAAAy3D,WAAAn3D,KAAAw/E,kBAAAjgF,OAAA,GAAAzH,EAAAkI,KAAAihC,qBAAA1hC,EAAmF,IAAA,OAAAhJ,OAAA,KAAAA,IAAAA,EAAA,GAAAuiF,kBAAAhhF,EAAAA,EAAA2C,WAAA+E,GAAAA,EAAAq6E,YAAAC,OAAAvjF,EAAAujF,KAAA,CAAgG,GAAAtjF,GAAAs5B,KAAA1yB,QAAmBshD,SAAA,IAAA4zB,MAAA,GAAqBh2E,EAAA0D,KAAAqwC,iBAAA9wC,EAA7+K,gBAA6+KE,EAAAO,KAAAw/E,kBAAAjgF,GAAA,GAAAw5E,iBAAAjhF,EAAAvB,EAAAiJ,EAAAhJ,EAAAe,EAA0GkI,GAAAs6E,YAAAt6E,EAAAu6E,OAAA/iF,EAAAkZ,IAAA1Q,EAAAw6E,QAAAp4D,KAAAC,QAAAtiB,GAAAvI,EAAA2tD,OAAAplD,EAAAw6E,UAA2EzjF,EAAAoB,UAAAkoF,mBAAA,SAAAtgF,GAA4C,GAAAhJ,GAAAyJ,KAAA2/E,oBAAApgF,EAAkChJ,IAAAA,EAAAwtB,WAAA/jB,KAAA4/E,iBAAArgF,IAAA,SAAAS,MAAA4/E,iBAAArgF,GAAAS,KAAA9D,OAAAqD,GAAAS,KAAA40B,eAAAr1B,KAAoHhJ,EAAAoB,UAAAuhF,UAAA,SAAA35E,EAAAhJ,EAAAmJ,EAAApD,EAAArF,GAA2C,QAAAA,IAAA,IAAAA,EAAAo9E,WAAAwE,cAAAsB,WAAAn6E,KAAAT,EAAA7I,KAAAmiF,eAAiFxuD,IAAA9zB,EAAAs/E,UAAA71E,KAAA3G,KAAAk9E,UAAA72E,EAAA7I,MAAAyF,EAAA+2E,UAAAA,UAAAj4E,OAAyE67D,QAAA,EAAA1e,QAAA,OAAwBhiD,GAAjkMuJ,QAAA,mBAA8kMxJ,QAAAD,QAAAokF,UAA0B,IAAAuF,aAAgBjkC,OAAAj8C,QAAA,oCAAAgjB,KAAAhjB,QAAA,kCAAAm8C,iBAAAn8C,QAAA,4CAAAk8C,KAAAl8C,QAAA,kCAAAg8C,OAAAh8C,QAAA,oCAA0Q26E,YAAA94E,OAAA,SAAApC,GAAmE,MAAA,KAArCygF,WAAAzgF,EAAAlG,OAAAohF,YAAqCl7E,MAC9/M66E,iCAAA,IAAAnzB,kBAAA,IAAAr2B,eAAA,IAAAqvD,mCAAA,IAAA5F,sBAAA,IAAA6F,mCAAA,IAAAC,2CAAA,IAAAC,iCAAA,IAAAC,iCAAA,IAAAC,mCAAA,IAAAhG,qBAAA,IAAAC,mBAAA,MAAsYgG,KAAA,SAAAzgF,QAAAxJ,OAAAD,SACzY,YAAa,IAAAokF,YAAA36E,QAAA,kBAAAyxB,aAAAzxB,QAAA,mCAAA0gF,iBAAA,SAAAlkF,GAA8H,QAAAiD,KAAajD,EAAAijB,MAAAvf,KAAAtH,WAAwB,MAAA4D,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,EAAA5H,UAAAg5B,aAAA,SAAAr0B,GAAmI,MAAA,IAAAi1B,cAAAj1B,IAA2BiD,GAAGk7E,WAAankF,QAAAD,QAAAmqF,mBAC3VC,kCAAA,GAAAC,iBAAA,MAA0DC,KAAA,SAAA7gF,QAAAxJ,OAAAD,SAC7D,YAAa,IAAAokF,YAAA36E,QAAA,kBAAA0yB,oBAAA1yB,QAAA,2CAAA8gF,wBAAA,SAAArhF,GAAoJ,QAAAjD,KAAaiD,EAAAggB,MAAAvf,KAAAtH,WAAwB,MAAA6G,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAA8nC,cAAA,SAAAnjC,EAAAkD,EAAAvI,GAAwI,GAAAT,GAAA+I,EAAA5H,UAAA8nC,cAAA/oC,KAAAsJ,KAAA1D,EAAAkD,EAAAvI,EAAiD,OAAA,yBAAAqF,GAAA9F,IAAAA,EAAA,GAAA,GAAAA,GAAgD8F,EAAA3E,UAAAg5B,aAAA,SAAApxB,GAAsC,MAAA,IAAAizB,qBAAAjzB,IAAkCjD,GAAGm+E,WAAankF,QAAAD,QAAAuqF,0BACpgBC,0CAAA,GAAAH,iBAAA,MAAkEI,KAAA,SAAAhhF,QAAAxJ,OAAAD,SACrE,YAAa,IAAAokF,YAAA36E,QAAA,kBAAAkyB,WAAAlyB,QAAA,iCAAAihF,eAAA,SAAAxhF,GAAwH,QAAAtI,KAAasI,EAAAggB,MAAAvf,KAAAtH,WAAwB,MAAA6G,KAAAtI,EAAAu6B,UAAAjyB,GAAAtI,EAAAU,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAAV,EAAAU,UAAAgrB,YAAA1rB,EAAAA,EAAAU,UAAA8nC,cAAA,SAAAxoC,EAAAT,EAAA8F,GAAwI,GAAA/F,GAAAyJ,IAAW,IAAA,uBAAA/I,EAAA,CAA6B,OAAA,KAAA+I,KAAAqwC,iBAAA,sBAAA,MAAA9wC,GAAA5H,UAAA8nC,cAAA/oC,KAAAsJ,KAAA,aAAAxJ,EAAA8F,EAAqH,KAAA,GAAAkD,GAAAQ,KAAAw/E,kBAAA,sBAAuDhgF,GAAE,CAA8C,KAA5CA,GAAAA,EAAAq6E,aAAAr6E,EAAAq6E,YAAAhjF,OAA4C,MAAA0I,GAAA5H,UAAA8nC,cAAA/oC,KAAAH,EAAA,aAAAC,EAAA8F,EAAgEkD,GAAAA,EAAAwhF,eAAmB,MAAAzhF,GAAA5H,UAAA8nC,cAAA/oC,KAAAsJ,KAAA/I,EAAAT,EAAA8F,IAAkDrF,EAAAU,UAAAsqC,4BAAA,SAAAhrC,GAAqD,MAAA,uBAAAA,OAAA,KAAA+I,KAAAqwC,iBAAA,sBAAA9wC,EAAA5H,UAAAsqC,4BAAAvrC,KAAAsJ,KAAA,cAAAT,EAAA5H,UAAAsqC,4BAAAvrC,KAAAsJ,KAAA/I,IAA0MA,EAAAU,UAAA4qC,uBAAA,SAAAtrC,EAAAT,GAAkD,MAAA,uBAAAS,OAAA,KAAA+I,KAAAqwC,iBAAA,sBAAA9wC,EAAA5H,UAAA4qC,uBAAA7rC,KAAAsJ,KAAA,aAAAxJ,GAAA+I,EAAA5H,UAAA4qC,uBAAA7rC,KAAAsJ,KAAA/I,EAAAT,IAAoMS,EAAAU,UAAAqoC,4BAAA,SAAA/oC,GAAqD,MAAA,uBAAAA,OAAA,KAAA+I,KAAAqwC,iBAAA,sBAAA9wC,EAAA5H,UAAAqoC,4BAAAtpC,KAAAsJ,KAAA,cAAAT,EAAA5H,UAAAqoC,4BAAAtpC,KAAAsJ,KAAA/I,IAA0MA,EAAAU,UAAA8pC,yBAAA,SAAAxqC,GAAkD,MAAA,uBAAAA,OAAA,KAAA+I,KAAAqwC,iBAAA,sBAAA9wC,EAAA5H,UAAA8pC,yBAAA/qC,KAAAsJ,KAAA,cAAAT,EAAA5H,UAAA8pC,yBAAA/qC,KAAAsJ,KAAA/I,IAAoMA,EAAAU,UAAAg5B,aAAA,SAAApxB,GAAsC,MAAA,IAAAyyB,YAAAzyB,IAAyBtI,GAAGwjF,WAAankF,QAAAD,QAAA0qF,iBACjvDE,gCAAA,GAAAP,iBAAA,MAAwDQ,KAAA,SAAAphF,QAAAxJ,OAAAD,SAC3D,YAAa,IAAAokF,YAAA36E,QAAA,kBAAAozB,WAAApzB,QAAA,iCAAAgwB,KAAAhwB,QAAA,mBAAAqhF,eAAA,SAAA7kF,GAAwJ,QAAAiD,KAAajD,EAAAijB,MAAAvf,KAAAtH,WAAwB,MAAA4D,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,EAAA5H,UAAA8nC,cAAA,SAAAlgC,EAAAC,EAAAvI,GAAwI,GAAAV,GAAA+F,EAAA3E,UAAA8nC,cAAA/oC,KAAAsJ,KAAAT,EAAAC,EAAAvI,EAAiD,IAAAV,GAAA,mBAAAgJ,EAAA,CAA4B,GAAAG,GAAAM,KAAAy/B,cAAA,aAAA3P,KAAA1yB,UAAoDoC,GAAIlE,KAAA4E,KAAAwN,MAAAlO,EAAAlE,QAAwBrE,EAAKV,GAAAq+C,WAAAl1C,EAAAnJ,EAAAs+C,SAAAn1C,EAA4B,MAAAnJ,IAASgJ,EAAA5H,UAAAg5B,aAAA,SAAAr0B,GAAsC,MAAA,IAAA42B,YAAA52B,IAAyBiD,GAAGk7E,WAAankF,QAAAD,QAAA8qF,iBACrmBC,gCAAA,GAAAjmD,kBAAA,IAAAulD,iBAAA,MAA8EW,KAAA,SAAAvhF,QAAAxJ,OAAAD,SACjF,YAAa,IAAAokF,YAAA36E,QAAA,kBAAA22B,aAAA32B,QAAA,mCAAAwhF,iBAAA,SAAA/hF,GAA8H,QAAAjD,KAAaiD,EAAAggB,MAAAvf,KAAAtH,WAAwB,MAAA6G,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAAi9B,eAAA,SAAAt4B,EAAArF,EAAAuI,GAAyI,GAAAE,GAAAH,EAAA5H,UAAAi9B,eAAAl+B,KAAAsJ,KAAA1D,EAAArF,EAAAuI,EAAkD,IAAA,SAAAE,EAAA,MAAAA,EAAuB,QAAApD,GAAU,IAAA,0BAAA,IAAA,0BAAA,MAAA,SAAA0D,KAAA40B,eAAA,mBAAA39B,EAAAuI,GAAA,MAAA,UAAwI,KAAA,uBAAA,MAAAQ,MAAA40B,eAAA,0BAAA39B,EAAAuI,EAAqF,SAAA,MAAAE,KAAkBpD,EAAA3E,UAAAg5B,aAAA,SAAApxB,GAAsC,MAAA,IAAAk3B,cAAAl3B,IAA2BjD,GAAGm+E,WAAankF,QAAAD,QAAAirF,mBACzsBC,kCAAA,GAAAb,iBAAA,MAA0Dc,KAAA,SAAA1hF,QAAAxJ,OAAAD,SAC7D,YAAa,IAAAokF,YAAA36E,QAAA,iBAAAgwB,KAAAhwB,QAAA,gBAAAk+B,cAAAl+B,QAAA,gCAAAi7D,cAAAj7D,QAAA,iCAAA0zD,gBAAA,SAAAl3D,GAA8MA,GAAA0D,KAAA2kB,QAAAroB,GAAoBk3D,iBAAA77D,UAAAgtB,QAAA,SAAAroB,GAA8C,GAAAkD,GAAAQ,IAAWA,MAAAq0D,cAAoB,KAAA,GAAA90D,GAAA,EAAAhJ,EAAA+F,EAAgBiD,EAAAhJ,EAAAoC,OAAW4G,GAAA,EAAA,CAAM,GAAAG,GAAAnJ,EAAAgJ,EAAW,YAAAG,EAAArG,MAAAmG,EAAA60D,YAAAz5D,KAAA8E,EAAAxG,IAA4C8G,KAAAyhF,iBAAqBzhF,KAAAo/C,WAAgBp/C,KAAA6tD,OAAAvxD,OAAmBk3D,gBAAA77D,UAAAk2D,OAAA,SAAAvxD,EAAAkD,EAAAD,GAAkD,IAAA,GAAAhJ,GAAAyJ,KAAAN,EAAA,EAAAlJ,EAAA8F,EAAuBoD,EAAAlJ,EAAAmC,OAAW+G,GAAA,EAAA,CAAM,GAAAc,GAAAhK,EAAAkJ,EAAWnJ,GAAAkrF,cAAAjhF,EAAAtH,IAAAsH,CAAwB,IAAA1I,GAAAvB,EAAA6oD,QAAA5+C,EAAAtH,IAAAuhF,WAAA94E,OAAAnB,EAA2C1I,GAAAqkF,2BAA6BhlB,YAAA,IAAcr/D,EAAAib,OAAAirB,cAAAlmC,EAAAib,QAAmC,IAAA,GAAA9b,GAAA,EAAAwI,EAAAD,EAAgBvI,EAAAwI,EAAA9G,OAAW1B,GAAA,EAAA,CAAM,GAAAM,GAAAkI,EAAAxI,SAAWV,GAAAkrF,cAAAlqF,SAAAhB,GAAA6oD,QAAA7nD,GAA8CgI,IAAAS,KAAAq0D,YAAA90D,GAAAS,KAAAk1D,mBAAiD,KAAA,GAAAr9D,GAAA,EAAAf,EAAAikE,cAAAjrC,KAAA5F,OAAAlqB,KAAAyhF,gBAAiE5pF,EAAAf,EAAA6B,OAAWd,GAAA,EAAA,CAAM,GAAAjB,GAAAE,EAAAe,GAAAmD,IAAA,SAAAsB,GAA+B,MAAA/F,GAAA6oD,QAAA9iD,EAAApD,MAAuBmH,EAAAzJ,EAAA,EAAS,KAAAyJ,EAAAnE,QAAA,SAAAmE,EAAAnE,OAAAk5D,WAAA,CAA4C,GAAAnjC,GAAA5xB,EAAApE,QAAA,GAAA6E,EAAAvK,EAAA2+D,iBAAAjjC,EAA2CnxB,KAAAA,EAAAvK,EAAA2+D,iBAAAjjC,MAAgC,IAAAqB,GAAAjzB,EAAAswD,aAAA,oBAAAh6D,EAAAmK,EAAAwyB,EAAgD38B,KAAAA,EAAAmK,EAAAwyB,OAAA38B,EAAAiE,KAAAhE,MAA2BN,OAAAD,QAAAm9D,kBAC7pCvzB,+BAAA,IAAAyhD,gCAAA,IAAA9wD,eAAA,IAAAouD,gBAAA,MAA8G2C,KAAA,SAAA7hF,QAAAxJ,OAAAD,SACjH,YAAa,SAAAurF,wBAAAriF,EAAAhJ,EAAA+F,GAAuC,OAAA,KAAAiD,OAAA,KAAAhJ,EAAA,OAAiCm+C,KAAAn1C,EAAAo1C,GAAAC,UAAAr1C,EAAAs1C,QAAAF,GAAAp+C,EAAAo+C,GAAAE,QAAAt+C,EAAAs+C,QAAAt1C,EAAAjD,GAA6D,GAAAwzB,MAAAhwB,QAAA,gBAAA06D,YAAA16D,QAAA,kCAAA+hF,iBAAwGtF,gBAAA,EAAAC,oBAAA,EAAAC,SAAA,GAAmD1D,gBAAA,SAAAx5E,EAAAhJ,EAAA+F,EAAArF,EAAAyI,GAAqCM,KAAA65E,YAAAtjF,EAAAyJ,KAAA8hF,UAAA9hF,KAAAi6E,SAAA,GAAAp4D,OAAA+sC,UAAA5uD,KAAAghF,cAAA1kF,EAAA0D,KAAA0+C,SAAAznD,EAAAynD,UAAA,EAAA1+C,KAAAsyE,MAAAr7E,EAAAq7E,OAAA,EAAAtyE,KAAA+hF,iBAAA,uBAAAxiF,EAAAu6D,UAAAv6D,EAAA43D,WAAAn3D,KAAAukC,OAAAvkC,KAAA+hF,iBAAAH,uBAAApnB,YAAAj7D,EAAAlG,MAAA2G,KAAAo7E,YAAA17E,GAAAmiF,gBAAA7hF,KAAA+5E,YAAA/5E,KAAAi6E,QAAAj6E,KAAA8hF,UAAA9hF,KAAA0+C,SAAA1+C,KAAAsyE,OAAAh2E,GAAAA,EAAA29E,SAAAj6E,KAAA8hF,iBAAAxlF,GAAA0kF,cAA+bjI,iBAAAphF,UAAAoiF,QAAA,WAA6C,OAAA/5E,KAAAghF,gBAAAhhF,KAAAukC,QAAA,IAAAvkC,KAAA0+C,UAAA,IAAA1+C,KAAAsyE,OAA2EyG,gBAAAphF,UAAA+hF,UAAA,SAAAn6E,EAAAhJ,EAAA+F,GAAqD,GAAArF,GAAA+I,KAAAgiF,sBAAAziF,EAAAhJ,EAAsC,IAAAyJ,KAAA+5E,UAAA,MAAA9iF,EAA2B,KAAAqF,EAAAA,GAAAulB,KAAAC,QAAA9hB,KAAAi6E,QAAA,MAAAhjF,EAA4C,IAAAyI,GAAAM,KAAAghF,cAAAtH,UAAAn6E,EAAAhJ,EAAAyJ,KAAA8hF,WAAAvqF,EAAAu4B,KAAAmyD,gBAAA3lF,EAAA0D,KAAA8hF,UAAA9hF,KAAAsyE,OAAAtyE,KAAA0+C,SAA0H,OAAA1+C,MAAAukC,OAAA7kC,EAAAzI,EAAAM,IAA0BwhF,gBAAAphF,UAAAqqF,sBAAA,SAAAziF,EAAAhJ,GAA+D,IAAAyJ,KAAA+hF,iBAAA,MAAA/hF,MAAA65E,YAAAH,UAAAn6E,EAAAhJ,EAAiE,IAAA+F,GAAAiD,EAAAjE,KAAArE,EAAA+I,KAAAo7E,YAAAmB,gBAAA78E,EAAApD,EAAArF,EAAA,EAAA,GAAAM,EAAAyI,KAAA65E,YAAAH,WAAyFp+E,KAAAgB,EAAArF,EAAAqF,EAAA,EAAAA,EAAA,GAAiB/F,GAAAiJ,EAAAQ,KAAA65E,YAAAH,WAAkCp+E,KAAAgB,GAAO/F,GAAAuB,EAAAoI,KAAAgK,KAAA2X,KAAAC,MAAA9hB,KAAAo7E,YAAAoB,qBAAAx8E,KAAA0+C,SAAA,GAAAloD,EAAA0J,KAAAsF,IAAAlJ,EAAArF,GAAAwI,EAAA+6D,YAAA1iE,EAAA,EAAAtB,EAAuH,YAAA,KAAAe,OAAA,KAAAiI,GAA+Bk1C,KAAAn9C,EAAAq9C,UAAAl1C,EAAAi1C,GAAAn1C,EAAAq1C,QAAA,EAAAt1C,EAAAE,OAAsC,IAAQnJ,OAAAD,QAAA0iF,kBACnpD/wC,iCAAA,IAAApX,eAAA,MAAwDsxD,KAAA,SAAApiF,QAAAxJ,OAAAD,SAC3D,YAAaC,QAAAD,QAAAyJ,QAAA,oCAAAxJ,OAAAD,QAAA8jF,WAAA,SAAA36E,EAAAlD,GAAmG,GAAAA,GAAAA,EAAA3D,OAAA,CAAgB,IAAA,GAAA4G,GAAA,EAAYA,EAAAjD,EAAA3D,OAAW4G,IAAAC,EAAAglD,KAAA,SAAoBt+B,MAAA,GAAAvmB,OAAArD,EAAAiD,GAAAk4D,UAAgC,QAAA,EAAS,OAAA,KACjN0qB,mCAAA,MAAuCC,KAAA,SAAAtiF,QAAAxJ,OAAAD,SAC1C,YAAa,IAAAi/B,QAAA,SAAA/1B,GAAuD,QAAAtI,GAAAA,EAAAqF,EAAA/E,EAAAiI,GAAoBD,EAAA7I,KAAAsJ,KAAA/I,EAAAqF,GAAA0D,KAAA6d,MAAAtmB,MAAA,KAAAiI,IAAAQ,KAAAqiF,QAAA7iF,GAA2D,MAAAD,KAAAtI,EAAAu6B,UAAAjyB,GAAAtI,EAAAU,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAAV,EAAAU,UAAAgrB,YAAA1rB,EAAAA,EAAAU,UAAAilB,MAAA,WAA2H,MAAA,IAAA3lB,GAAA+I,KAAAY,EAAAZ,KAAAQ,EAAAR,KAAA6d,MAAA7d,KAAAqiF,UAAoDprF,GAArT6I,QAAA,kBAAgUxJ,QAAAD,QAAAi/B,SAC1UhM,iBAAA,KAAoBg5D,KAAA,SAAAxiF,QAAAxJ,OAAAD,SACvB,YAAa,SAAAksF,eAAAjmF,EAAAiD,EAAAG,EAAAF,EAAAjI,GAAkC,OAAA,KAAAgI,EAAA8iF,QAAA,OAAA,CAA+B,KAAA,GAAA9rF,GAAAgJ,EAAAzH,EAAAyH,EAAA8iF,QAAA,EAAA/iF,EAAA,EAA8BA,GAAAI,EAAA,GAAO,CAAE,KAAA5H,EAAA,EAAA,OAAA,CAAoBwH,IAAAhD,EAAAxE,GAAAyS,KAAAhU,GAAAA,EAAA+F,EAAAxE,GAAuBwH,GAAAhD,EAAAxE,GAAAyS,KAAAjO,EAAAxE,EAAA,IAAAA,GAAyB,KAAA,GAAAtB,MAAAS,EAAA,EAAiBqI,EAAAI,EAAA,GAAM,CAAE,GAAAD,GAAAnD,EAAAxE,EAAA,GAAAlB,EAAA0F,EAAAxE,GAAAgJ,EAAAxE,EAAAxE,EAAA,EAA6B,KAAAgJ,EAAA,OAAA,CAAe,IAAAP,GAAAd,EAAAse,QAAAnnB,GAAAA,EAAAmnB,QAAAjd,EAAgC,KAAAP,EAAAL,KAAAsF,KAAAjF,EAAA,EAAAL,KAAAgG,KAAA,EAAAhG,KAAAgG,IAAAhG,KAAAgG,IAAA1P,EAAAoE,MAA0Dw4B,SAAA9zB,EAAAkjF,WAAAjiF,IAAwBtJ,GAAAsJ,EAAOjB,EAAA9I,EAAA,GAAA48B,SAAA5zB,GAAkBvI,GAAAT,EAAAisF,QAAAD,UAAyB,IAAAvrF,EAAAM,EAAA,OAAA,CAAgBO,KAAAwH,GAAA1I,EAAA2T,KAAAzJ,GAAiB,OAAA,EAASxK,OAAAD,QAAAksF,mBACxcG,KAAA,SAAA5iF,QAAAxJ,OAAAD,SACJ,YAAa,SAAAw/B,UAAAt+B,EAAAqJ,EAAAJ,EAAAvJ,EAAAqF,GAA6B,IAAA,GAAAkD,MAAAD,EAAA,EAAiBA,EAAAhI,EAAAoB,OAAW4G,IAAA,IAAA,GAAAhJ,GAAAgB,EAAAgI,GAAAE,MAAA,GAAA3I,EAAA,EAAgCA,EAAAP,EAAAoC,OAAA,EAAa7B,IAAA,CAAK,GAAAg9B,GAAAv9B,EAAAO,GAAA2J,EAAAlK,EAAAO,EAAA,EAAoBg9B,GAAAlzB,EAAAA,GAAAH,EAAAG,EAAAA,IAAAkzB,EAAAlzB,EAAAA,EAAAkzB,EAAA,GAAAnX,OAAA/b,EAAAkzB,EAAAtzB,GAAAC,EAAAD,EAAAszB,EAAAtzB,KAAAI,EAAAkzB,EAAAlzB,IAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAA8c,SAAAjd,EAAAG,EAAAA,IAAAH,EAAA,GAAAkc,OAAA/b,EAAAkzB,EAAAtzB,GAAAC,EAAAD,EAAAszB,EAAAtzB,KAAAI,EAAAkzB,EAAAlzB,IAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAA8c,UAAAoW,EAAAtzB,EAAAA,GAAAC,EAAAD,EAAAA,IAAAszB,EAAAtzB,EAAAA,EAAAszB,EAAA,GAAAnX,OAAAmX,EAAAlzB,GAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAAJ,EAAAszB,EAAAtzB,IAAAC,EAAAD,EAAAszB,EAAAtzB,IAAAA,GAAAkd,SAAAjd,EAAAD,EAAAA,IAAAC,EAAA,GAAAkc,OAAAmX,EAAAlzB,GAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAAJ,EAAAszB,EAAAtzB,IAAAC,EAAAD,EAAAszB,EAAAtzB,IAAAA,GAAAkd,UAAAoW,EAAAlzB,GAAA3J,GAAAwJ,EAAAG,GAAA3J,IAAA68B,EAAAlzB,GAAA3J,EAAA68B,EAAA,GAAAnX,OAAA1lB,EAAA68B,EAAAtzB,GAAAC,EAAAD,EAAAszB,EAAAtzB,KAAAvJ,EAAA68B,EAAAlzB,IAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAA8c,SAAAjd,EAAAG,GAAA3J,IAAAwJ,EAAA,GAAAkc,OAAA1lB,EAAA68B,EAAAtzB,GAAAC,EAAAD,EAAAszB,EAAAtzB,KAAAvJ,EAAA68B,EAAAlzB,IAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAA8c,UAAAoW,EAAAtzB,GAAAlE,GAAAmE,EAAAD,GAAAlE,IAAAw3B,EAAAtzB,GAAAlE,EAAAw3B,EAAA,GAAAnX,OAAAmX,EAAAlzB,GAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAAtE,EAAAw3B,EAAAtzB,IAAAC,EAAAD,EAAAszB,EAAAtzB,IAAAlE,GAAAohB,SAAAjd,EAAAD,GAAAlE,IAAAmE,EAAA,GAAAkc,OAAAmX,EAAAlzB,GAAAH,EAAAG,EAAAkzB,EAAAlzB,KAAAtE,EAAAw3B,EAAAtzB,IAAAC,EAAAD,EAAAszB,EAAAtzB,IAAAlE,GAAAohB,UAAAje,GAAAq0B,EAAAjtB,OAAApH,EAAAA,EAAA9G,OAAA,MAAA8G,GAAAq0B,GAAAt0B,EAAA5E,KAAA6E,IAAAA,EAAA7E,KAAA6F,OAA4oB,MAAAjB,GAAS,GAAAmd,OAAA7c,QAAA,iBAAoCxJ,QAAAD,QAAAw/B,WACl0BvM,iBAAA,KAAoBq5D,KAAA,SAAA7iF,QAAAxJ,OAAAD,SACvB,YAAa,IAAAmnC,uBAAA19B,QAAA,wBAAA6c,MAAA7c,QAAA,kBAAAwwD,kBAAA9yB,uBAAmI3B,UAAUxiC,KAAA,QAAAtC,KAAA,iBAAmCsC,KAAA,QAAAtC,KAAA,iBAAmCsC,KAAA,QAAAtC,KAAA,OAAyBsC,KAAA,QAAAtC,KAAA,OAAyBsC,KAAA,QAAAtC,KAAA,OAAyBsC,KAAA,QAAAtC,KAAA,OAAyBsC,KAAA,UAAAtC,KAAA,aAAiCsC,KAAA,SAAAtC,KAAA,iBAAoCsC,KAAA,SAAAtC,KAAA,qBAAwCsC,KAAA,SAAAtC,KAAA,gBAAmCsC,KAAA,QAAAtC,KAAA,UAA4BsC,KAAA,QAAAtC,KAAA,UAA4BsC,KAAA,QAAAtC,KAAA,UAA4BsC,KAAA,QAAAtC,KAAA,UAA4BsC,KAAA,UAAAtC,KAAA,oBAAyCG,QAAAC,eAAAm5D,kBAAA34D,UAAAirF,WAAAjrF,UAAA,eAAsFL,IAAA,WAAe,MAAA,IAAAqlB,OAAA3c,KAAA6iF,aAAA7iF,KAAA8iF,iBAAuDxsF,OAAAD,QAAAi6D,oBACtwB7yB,uBAAA,IAAAnU,iBAAA,KAA+Cy5D,KAAA,SAAAjjF,QAAAxJ,OAAAD,SAClD,YAAa,IAAA0/B,kBAAA,SAAAx2B,EAAAjD,EAAA/F,EAAAU,EAAAa,EAAA4H,EAAAnI,EAAAiI,EAAAhJ,EAAAM,EAAA2I,GAAqD,GAAAc,GAAAhJ,EAAA60E,IAAA5sE,EAAAhJ,EAAAoK,EAAArJ,EAAA80E,OAAA7sE,EAAAhJ,EAAA8I,EAAA/H,EAAA00E,KAAAzsE,EAAAhJ,EAAAG,EAAAY,EAAA20E,MAAA1sE,EAAAhJ,CAA0D,IAAAwJ,KAAAo4B,cAAA74B,EAAA5G,OAAA7B,EAAA,CAAkC,GAAAm7B,GAAArxB,EAAAL,EAAAM,EAAAlK,EAAA2I,CAAgB,IAAA2yB,EAAA,EAAA,GAAAA,EAAA/xB,KAAAyD,IAAA,GAAAnE,EAAAyyB,GAAAxyB,EAAA,CAAgC,GAAAY,GAAA/D,EAAA/F,EAAA8rF,QAAA,GAAAvlE,IAAAxgB,EAAA/F,EAAA8rF,UAAA9kE,QAAAN,MAAApc,GAAAjK,GAAAL,EAAAumB,IAAAzc,GAAA9J,EAAA0I,IAAAoB,GAA8EL,MAAAgjF,uBAAAzjF,EAAA3I,EAAAL,EAAA,EAAAsK,EAAAoxB,EAAAh7B,EAAAa,EAAA4H,OAA+CM,MAAAgjF,uBAAAzjF,EAAAjD,EAAA/F,EAAAA,EAAA8rF,QAAAxhF,EAAAoxB,EAAAh7B,EAAAa,EAAA4H,OAA4DH,GAAA0xB,YAAA16B,EAAAqK,EAAArK,EAAAiK,EAAAlB,EAAAiB,EAAA5J,EAAAiK,EAAA,EAAA,EAAA3J,EAAAa,EAAA4H,EAAA,EAAA,EAAA,EAAA,EAAA,EAAwDM,MAAAs4B,YAAA/4B,EAAA5G,OAA2Bo9B,kBAAAp+B,UAAAqrF,uBAAA,SAAAzjF,EAAAjD,EAAA/F,EAAAU,EAAAa,EAAA4H,EAAAnI,EAAAiI,EAAAhJ,GAA8E,GAAAM,GAAA4I,EAAA,EAAAD,EAAAS,KAAAwN,MAAA5V,EAAAhB,GAAAyJ,GAAAb,EAAA,EAAAkB,EAAAZ,KAAAijF,MAAA3jF,EAAA/I,EAAAI,EAAAM,EAAA,EAAAg7B,EAAA1xB,CAA8D,GAAA,CAAG,KAAA5J,EAAA,EAAA,MAAAiK,EAAoBqxB,IAAA31B,EAAA3F,GAAA4T,KAAAjL,GAAAA,EAAAhD,EAAA3F,SAAuBs7B,GAAAn6B,EAAA,EAAc,KAAA,GAAA+I,GAAAvE,EAAA3F,GAAA4T,KAAAjO,EAAA3F,EAAA,IAAA0J,EAAA,EAAgCA,EAAAZ,EAAIY,IAAA,CAAK,IAAA,GAAAzJ,IAAAkB,EAAA,EAAAuI,EAAAvJ,EAAmBm7B,EAAApxB,EAAAjK,GAAM,CAAE,GAAAq7B,GAAApxB,IAAAlK,EAAA,GAAA2F,EAAA3D,OAAA,MAAAiI,EAAmCC,GAAAvE,EAAA3F,GAAA4T,KAAAjO,EAAA3F,EAAA,IAAoB,GAAAmK,GAAAlK,EAAAq7B,EAAAp6B,EAAAyE,EAAA3F,GAAAk9B,EAAAv3B,EAAA3F,EAAA,GAAAmmB,IAAAjlB,GAAA0lB,QAAAN,MAAAnc,GAAA+b,KAAAhlB,GAAA6lB,SAAAld,EAAA1I,EAAA,EAAAoI,KAAAyD,IAAAzD,KAAAsF,IAAA5O,EAAA2J,GAAAzJ,EAAA,EAAA,EAA+GyI,GAAA0xB,YAAA4C,EAAAjzB,EAAAizB,EAAArzB,GAAAd,EAAA,GAAAA,EAAA,EAAAA,EAAA,EAAAA,EAAA,EAAAc,EAAAjJ,EAAAiI,EAAAhJ,EAAA,EAAA,EAAA,EAAA,EAAA,GAA2D,MAAAoK,IAAStK,OAAAD,QAAA0/B,sBAC58BmtD,KAAA,SAAApjF,QAAAxJ,OAAAD,SACJ,YAAa,IAAAsmB,OAAA7c,QAAA,kBAAAqxB,OAAArxB,QAAA,kBAAAm+B,KAAAn+B,QAAA,cAAAqjF,kBAAArjF,QAAA,8BAAAuwD,cAAA,SAAA9wD,EAAAjD,EAAA/F,GAAsL,GAAA,gBAAAgJ,GAAA,CAAuB,GAAAC,GAAAD,CAAQhJ,GAAA+F,EAAAiD,EAAAC,EAAAqe,MAAAvhB,EAAAkD,EAAAgmC,MAAAxlC,KAAA6+B,KAAA,GAAAZ,MAAAz+B,EAAAq/B,MAAA7+B,KAAAojF,YAAA,GAAAnlD,MAAAz+B,EAAA4jF,iBAA4FpjF,MAAA6+B,KAAA,GAAAZ,MAAA9M,OAAA,GAAA,GAAAnxB,KAAAojF,YAAA,GAAAnlD,MAAA9M,OAAA,GAAA,EAA4EnxB,MAAA24B,SAAA,GAAA34B,KAAAk4B,SAAA,EAAAl4B,KAAA6d,MAAAte,EAAAS,KAAAwlC,MAAAlpC,CAA2D,IAAAoD,GAAAQ,KAAAC,IAAAZ,GAAAtI,EAAAiJ,KAAAE,IAAAb,EAAgC,IAAAS,KAAA4lC,gBAAA3uC,GAAAyI,EAAAA,EAAAzI,GAAA+I,KAAAqjF,uBAAApsF,EAAAyI,GAAAA,EAAAzI,GAAA+I,KAAA45B,SAAA,EAAA15B,KAAAE,IAAA9D,EAAA,IAAA4D,KAAAgG,IAAAlG,KAAA45B,SAAA15B,KAAA+F,IAAAjG,KAAA45B,SAAA,KAAA55B,KAAA02B,kBAAAngC,EAAA,IAAAA,EAAAoC,OAAA,CAAiMpC,EAAA06B,aAAgB,IAAA15B,GAAA,KAAYhB,GAAA06B,YAAA,EAAA,EAAA,GAAA15B,EAAA,EAAAA,EAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAAhB,EAAA06B,YAAAE,OAAA,EAAA,GAAA55B,EAAA,EAAAA,EAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAAhB,EAAA06B,YAAA,EAAA,GAAA15B,EAAA,EAAAA,EAAA,EAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAAhB,EAAA06B,YAAA,EAAAE,QAAA55B,EAAA,EAAAA,EAAA,EAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAA0MyI,KAAAsjF,iBAAA/sF,EAAAe,IAAA,GAAA0I,KAAAujF,OAAAhtF,EAAAe,IAAA,GAAAf,EAAAe,IAAA,GAAAf,EAAAe,IAAA,GAAAf,EAAAe,IAAA,IAAiF+4D,eAAA14D,UAAA81B,UAAA,SAAAluB,GAA8C,GAAAjD,GAAA0D,KAAA6+B,KAAA3uB,gBAAA3Z,EAAAyJ,KAAAojF,YAAAlzE,eAAmE,OAAA3Q,KAAAA,EAAA3E,KAAA0B,GAAAiD,EAAA3E,KAAArE,KAAiCsnB,MAAA7d,KAAA6d,MAAA2nB,MAAAxlC,KAAAwlC,MAAA3G,KAAAviC,EAAA8mF,YAAA7sF,IAAwD85D,cAAA14D,UAAA+gC,sBAAA,SAAAn5B,EAAAjD,EAAA/F,GAA+D,IAAA,GAAAiJ,GAAAQ,KAAAN,EAAAM,KAAA02B,kBAAAz/B,EAAA+I,KAAA24B,SAAAphC,EAAAyI,KAAA4lC,eAAApvC,EAAAwJ,KAAA45B,SAAAr5B,EAAAhB,EAAA64B,cAAgH73B,EAAAhB,EAAA+4B,YAAgB/3B,IAAA,CAAK,GAAAzI,GAAA4H,EAAApI,IAAAiJ,GAAAK,EAAA9I,EAAA4hC,YAAArc,SAAA9lB,GAAAX,EAAAgK,EAAAA,EAAAE,EAAAF,EAAAJ,EAAAA,EAAA5J,EAAAkB,EAAAiiC,GAAAjjC,EAAAgK,EAAAhJ,EAAAkiC,GAAAxjC,EAAAG,EAAAC,EAAAkB,EAAAmiC,GAAAx6B,EAAAqB,EAAAhJ,EAAAoiC,GAAA1jC,CAA+F,IAAAsB,EAAA0rF,MAAAhjF,EAAA1I,EAAA2rF,MAAA3sF,EAAAgB,EAAA4rF,MAAA/sF,EAAAmB,EAAA6rF,MAAAlkF,GAAAnD,EAAA,IAAA,GAAAzE,GAAA2H,EAAAq/B,KAAA/uB,MAAAtP,EAAA1J,EAAAH,EAAA8I,GAAAa,EAAA,EAAkFA,EAAAzI,EAAAc,OAAW2H,IAAA,CAAK,GAAAhB,GAAAI,EAAApI,IAAAO,EAAAyI,IAAAD,EAAAf,EAAAo6B,YAAArc,SAAA9lB,EAA8C,KAAAN,EAAAuI,EAAAokF,kBAAA3sF,EAAA2J,EAAA9I,EAAAuI,EAAAf,KAAAE,EAAA04B,SAAA,MAAAjhC,GAA2D,GAAAV,EAAA,CAAM,GAAAkU,OAAA,EAAa,IAAAjL,EAAAqe,MAAA,CAAY,GAAAiW,GAAAt0B,EAAA6jF,sBAAAxiF,EAAA,GAAA8b,OAAA7kB,EAAAiiC,GAAAjiC,EAAAkiC,IAAA5c,QAAA0W,GAAAnmB,EAAA,GAAAgP,OAAA7kB,EAAAmiC,GAAAniC,EAAAkiC,IAAA5c,QAAA0W,GAAArzB,EAAA,GAAAkc,OAAA7kB,EAAAiiC,GAAAjiC,EAAAoiC,IAAA9c,QAAA0W,GAAAxjB,EAAA,GAAAqM,OAAA7kB,EAAAmiC,GAAAniC,EAAAoiC,IAAA9c,QAAA0W,IAAsKrpB,EAAAjL,EAAA8jF,kBAAAT,aAAA/qF,EAAA4hC,YAAA94B,EAAA6J,EAAAq4E,aAAAhrF,EAAA4hC,YAAAl5B,EAAAiK,EAAAsvB,GAAA75B,KAAAgK,IAAArJ,EAAAD,EAAA+M,EAAA/M,EAAAH,EAAAG,EAAA0P,EAAA1P,GAAA6J,EAAAuvB,GAAA95B,KAAAgK,IAAArJ,EAAAL,EAAAmN,EAAA/M,EAAAH,EAAAG,EAAA0P,EAAA1P,GAAA6J,EAAAwvB,GAAA/5B,KAAAyD,IAAA9C,EAAAD,EAAA+M,EAAA/M,EAAAH,EAAAG,EAAA0P,EAAA1P,GAAA6J,EAAAyvB,GAAAh6B,KAAAyD,IAAA9C,EAAAL,EAAAmN,EAAA/M,EAAAH,EAAAG,EAAA0P,EAAA1P,GAAA6J,EAAAytB,SAAApgC,EAAAogC,aAAqOztB,GAAA3S,CAAS,KAAA,GAAA+7B,GAAA,EAAYA,EAAA7zB,KAAAujF,MAAA5qF,OAAoBk7B,IAAA,CAAK,GAAAob,GAAAzvC,EAAA+jF,MAAA1vD,EAAiB,KAAA58B,EAAAuI,EAAAokF,kBAAA3sF,EAAAa,EAAA4hC,YAAAjvB,EAAAwkC,EAAAvV,YAAAuV,KAAAzvC,EAAA04B,SAAA,MAAAjhC,KAAqF,MAAAA,IAASo5D,cAAA14D,UAAAkoC,qBAAA,SAAAtgC,EAAAjD,GAA4D,GAAA/F,MAAQiJ,IAAM,IAAA,IAAAD,EAAA5G,QAAA,IAAAqH,KAAA6+B,KAAAlmC,QAAA,IAAAqH,KAAAojF,YAAAzqF,OAAA,MAAA6G,EAA4E,KAAA,GAAAE,GAAAM,KAAA02B,kBAAAz/B,EAAA+I,KAAA4lC,eAAAruC,EAAAyI,KAAA45B,SAAApjC,KAAA+J,EAAA,EAAA,EAAAzI,EAAA,EAAA,EAAA8I,GAAA,EAAA,EAAAhK,GAAA,EAAA,EAAAkK,EAAA,EAA8GA,EAAAvB,EAAA5G,OAAWmI,IAAA,IAAA,GAAAN,GAAAjB,EAAAuB,GAAAhK,EAAA,EAAuBA,EAAA0J,EAAA7H,OAAW7B,IAAA,CAAK,GAAAH,GAAA6J,EAAA1J,GAAAsmB,QAAAnmB,EAAsBsJ,GAAAL,KAAAgK,IAAA3J,EAAA5J,EAAAiK,GAAA9I,EAAAoI,KAAAgK,IAAApS,EAAAnB,EAAA6J,GAAAI,EAAAV,KAAAyD,IAAA/C,EAAAjK,EAAAiK,GAAAhK,EAAAsJ,KAAAyD,IAAA/M,EAAAD,EAAA6J,GAAAhK,EAAAoE,KAAAjE,GAAkF,IAAA,GAAA8I,GAAAO,KAAA6+B,KAAA/uB,MAAAvP,EAAAzI,EAAA8I,EAAAhK,GAAAiB,EAAAmI,KAAAojF,YAAAtzE,MAAAvP,EAAAzI,EAAA8I,EAAAhK,GAAA0J,EAAA,EAAyEA,EAAAzI,EAAAc,OAAW2H,IAAAb,EAAA7E,KAAA/C,EAAAyI,GAAiB,KAAA,GAAAhB,GAAAY,KAAA+F,IAAA,EAAA/F,KAAAmY,KAAAnY,KAAAkL,IAAA9O,GAAA4D,KAAAwQ,IAAA,IAAA,IAAArQ,EAAA,EAAgEA,EAAAZ,EAAA9G,OAAW0H,IAAA,CAAK,GAAAoK,GAAA/K,EAAApI,IAAAmI,EAAAY,IAAAyzB,EAAArpB,EAAAysB,iBAAAr2B,EAAA4J,EAAA4lB,YAAwD,QAAA,KAAA95B,EAAAu9B,KAAAv9B,EAAAu9B,QAA0Bv9B,EAAAu9B,GAAAjzB,MAAAvB,EAAAmL,EAAA0vB,gBAAA76B,EAAAmL,EAAAytB,UAAA,CAAiD,GAAAvqB,GAAAlD,EAAAivB,YAAAtc,QAAAnmB,GAAAwJ,EAAAkN,EAAA/M,EAAA6J,EAAAsvB,GAAAz9B,EAAAgU,EAAA3C,EAAAnN,EAAAiK,EAAAuvB,GAAA19B,EAAA/E,EAAAs8B,EAAAlmB,EAAA/M,EAAA6J,EAAAwvB,GAAA39B,EAAA2yC,EAAAthC,EAAAnN,EAAAiK,EAAAyvB,GAAA59B,EAAA/E,EAAAk7B,GAAA,GAAA9V,OAAAlc,EAAA6P,GAAA,GAAAqM,OAAAkX,EAAAvjB,GAAA,GAAAqM,OAAAkX,EAAAob,GAAA,GAAAtyB,OAAAlc,EAAAwuC,GAAuJk0C,mBAAAU,yBAAArtF,EAAAi8B,KAAAl8B,EAAAu9B,GAAAjzB,IAAA,EAAArB,EAAA5E,KAAA6E,EAAAY,MAA4E,MAAAb,IAAS6wD,cAAA14D,UAAAisF,kBAAA,SAAArkF,EAAAjD,EAAA/F,EAAAiJ,EAAAE,GAA+D,GAAAzI,GAAAqF,EAAAsE,EAAApB,EAAAoB,EAAArJ,EAAA+E,EAAAkE,EAAAhB,EAAAgB,EAAAhK,GAAAkJ,EAAAq6B,GAAAxjC,EAAA0jC,IAAAhjC,EAAAsJ,GAAAb,EAAAu6B,GAAA1jC,EAAAwjC,IAAA9iC,EAAAa,GAAA4H,EAAAs6B,GAAAzjC,EAAA2jC,IAAAl6B,KAAA45B,SAAAriC,EAAAqJ,GAAAlB,EAAAw6B,GAAA3jC,EAAAyjC,IAAAh6B,KAAA45B,SAAAriC,GAAoHkZ,MAAAja,IAAAia,MAAAlQ,MAAA/J,EAAA+J,EAAA,IAAAkQ,MAAA3Y,IAAA2Y,MAAA7P,MAAA9I,EAAA8I,EAAA,EAA4D,IAAAhK,GAAAsJ,KAAAgK,IAAAhK,KAAAyD,IAAAnN,EAAA+J,GAAAL,KAAAyD,IAAA7L,EAAA8I,IAAAE,EAAApB,EAAAw4B,SAAA13B,EAAAjK,EAAA2hC,QAAsE,OAAAthC,GAAAkK,IAAAlK,EAAAkK,GAAAlK,EAAA4J,IAAA5J,EAAA4J,GAAA5J,EAAA2I,GAAA3I,GAAA8I,EAAAy6B,iBAAA56B,EAAA3I,GAAA2I,GAA+D8wD,cAAA14D,UAAAihC,uBAAA,SAAAr5B,EAAAjD,EAAA/F,GAAgE,IAAA,GAAAiJ,GAAAQ,KAAAN,EAAAnJ,EAAAyJ,KAAAojF,YAAApjF,KAAA6+B,KAAA5nC,EAAA+I,KAAA02B,kBAAAn/B,EAAAgI,EAAA64B,cAAyF7gC,EAAAgI,EAAA+4B,YAAgB/gC,IAAA,CAAK,GAAAf,GAAAS,EAAAK,IAAAC,EAAef,GAAA2jC,eAAA79B,EAAAA,EAAAkD,EAAA04B,UAAAx4B,EAAA+P,OAAAlY,EAAAf,EAAAgtF,MAAAhtF,EAAAitF,MAAAjtF,EAAAktF,MAAAltF,EAAAmtF,SAA8ErtF,OAAAD,QAAAg6D,gBAC1xHvoB,iBAAA,GAAA3H,6BAAA,IAAAI,aAAA,GAAAjX,iBAAA,KAAyFw6D,KAAA,SAAAhkF,QAAAxJ,OAAAD,SAC5F,YAAa,SAAAk/B,YAAAj5B,EAAAkD,EAAAD,EAAAhI,EAAAmI,EAAAlJ,EAAAS,EAAAV,EAAAK,GAAuC,GAAA2J,GAAAhJ,EAAA,GAAAf,EAAAS,EAAA,EAAAa,EAAAoI,KAAAyD,IAAApM,EAAAA,EAAA20E,MAAA30E,EAAA00E,KAAA,EAAAvsE,EAAAA,EAAAwsE,MAAAxsE,EAAAusE,KAAA,GAAAxsE,EAAA,IAAAnD,EAAA,GAAAsE,GAAAtE,EAAA,GAAAsE,IAAAhK,GAAA,IAAA0F,EAAA,GAAAkE,GAAAlE,EAAA,GAAAkE,IAAA5J,CAAoH4I,GAAA1H,EAAAb,EAAAuI,EAAA,IAAAA,EAAA1H,EAAAb,EAAAuI,EAAA,EAAuB,IAAAsB,GAAA,EAAAtK,CAAoC,OAAAutF,UAAAznF,EAApCmD,EAAAD,EAAA,EAAAjJ,EAAAiJ,GAAA1H,EAAA,EAAAgJ,GAAA7J,EAAAV,EAAAiJ,EAAoCA,EAAAe,EAAAhB,EAAAzH,EAAAb,EAAAwI,GAAA,EAAA7I,GAAsC,QAAAmtF,UAAAznF,EAAAkD,EAAAD,EAAAhI,EAAAmI,EAAAlJ,EAAAS,EAAAV,EAAAK,GAAqC,IAAA,GAAA2J,GAAA/J,EAAA,EAAAsB,EAAA,EAAA2H,EAAA,EAAsBA,EAAAnD,EAAA3D,OAAA,EAAa8G,IAAA3H,GAAAwE,EAAAmD,GAAA8K,KAAAjO,EAAAmD,EAAA,GAAyB,KAAA,GAAAqB,GAAA,EAAAjJ,EAAA2H,EAAAD,EAAAqB,KAAAtB,EAAA,EAA2BA,EAAAhD,EAAA3D,OAAA,EAAa2G,IAAA,CAAK,IAAA,GAAAe,GAAA/D,EAAAgD,GAAA3I,EAAA2F,EAAAgD,EAAA,GAAAkB,EAAAH,EAAAkK,KAAA5T,GAAA+J,EAAA/J,EAAAonB,QAAA1d,GAAmDxI,EAAA0H,EAAAuB,EAAAN,GAAQ,CAAO,GAAA1J,KAALe,GAAA0H,GAAKuB,GAAAN,EAAAW,EAAAq5D,YAAAn6D,EAAAO,EAAAjK,EAAAiK,EAAA9J,GAAAsK,EAAAo5D,YAAAn6D,EAAAG,EAAA7J,EAAA6J,EAAA1J,EAAgE,IAAAqK,GAAA,GAAAA,EAAAvK,GAAAwK,GAAA,GAAAA,EAAAxK,GAAAiB,EAAA0I,GAAA,GAAA1I,EAAA0I,GAAAzI,EAAA,CAAyC,GAAAwI,GAAA,GAAAg1B,QAAAn0B,EAAAC,EAAAV,EAAApB,GAAAoe,QAAmCnmB,KAAAgrF,cAAAjmF,EAAAgE,EAAA9J,EAAAe,EAAAmI,IAAAkB,EAAAhG,KAAA0F,IAAyCQ,GAAAN,EAAK,MAAAjK,IAAAqK,EAAAjI,QAAA1B,IAAA2J,EAAAmjF,SAAAznF,EAAAwE,EAAA,EAAAvB,EAAAhI,EAAAmI,EAAAlJ,EAAAS,GAAA,EAAAL,IAAAgK,EAA4D,GAAA45D,aAAA16D,QAAA,kCAAAw1B,OAAAx1B,QAAA,oBAAAyiF,cAAAziF,QAAA,oBAAwIxJ,QAAAD,QAAAk/B,aACp1ByS,iCAAA,IAAAg8C,mBAAA,IAAAC,oBAAA,MAAoFC,KAAA,SAAApkF,QAAAxJ,OAAAD,SACvF,YAAa,IAAAqM,WAAA5C,QAAA,sBAAAgwB,KAAAhwB,QAAA,gBAAAqkF,WAAA,WAAiJnkF,KAAAuD,MAAjJ,IAAiJvD,KAAAwD,OAAjJ,IAAiJxD,KAAAokF,MAAA,GAAA1hF,WAAA1C,KAAAuD,MAAAvD,KAAAwD,QAAAxD,KAAAiwB,SAA+GjwB,KAAAkR,OAAYlR,KAAA7G,KAAA,GAAAkd,YAAArW,KAAAuD,MAAAvD,KAAAwD,QAAmD2gF,YAAAxsF,UAAAsmF,UAAA,WAA0C,GAAA1+E,GAAAhJ,EAAA+F,EAAAiE,EAAAP,KAAAR,IAAsB,KAAA,GAAA1H,KAAAyI,GAAA2Q,IAAA3R,EAAAzH,EAAAM,MAAA,KAAA7B,EAAAgJ,EAAA,GAAAjD,EAAAiD,EAAA,GAAAC,EAAAjJ,KAAAiJ,EAAAjJ,OAAAiJ,EAAAjJ,GAAAqE,KAAA0B,EAA6E,OAAAkD,IAAS2kF,WAAAxsF,UAAA0sF,SAAA,WAA0C,GAAA9kF,GAAAhJ,EAAA+F,EAAAiE,EAAAP,KAAAR,IAAsB,KAAA,GAAA1H,KAAAyI,GAAA2Q,IAAA3R,EAAAzH,EAAAM,MAAA,KAAA7B,EAAAgJ,EAAA,GAAAjD,EAAAiD,EAAA,GAAAC,EAAAjJ,KAAAiJ,EAAAjJ,OAA8DiJ,EAAAjJ,GAAA+F,GAAAiE,EAAA0vB,MAAAn4B,EAAqB,OAAA0H,IAAS2kF,WAAAxsF,UAAA2sF,SAAA,SAAA/kF,EAAAhJ,EAAA+F,EAAAiE,GAAiD,GAAAf,GAAAQ,IAAW,KAAA1D,EAAA,MAAA,KAAkB,IAAAxE,GAAAvB,EAAA,IAAA+F,EAAApD,EAAiB,IAAA8G,KAAAiwB,MAAAn4B,GAAA,MAAAkI,MAAAkR,IAAApZ,GAAAmb,QAAA1T,GAAA,GAAAS,KAAAkR,IAAApZ,GAAA8C,KAAA2E,GAAAS,KAAAiwB,MAAAn4B,EAAoF,KAAAwE,EAAAioF,OAAA,MAAA,KAAyB,IAAA7kF,GAAApD,EAAAiH,MAAA,EAAAhD,EAAAkyB,EAAAn2B,EAAAkH,OAAA,EAAAjD,EAAA/J,EAAAkJ,EAAA,EAAAiO,EAAA8kB,EAAA,CAAqDj8B,IAAA,EAAAA,EAAA,EAAAmX,GAAA,EAAAA,EAAA,CAAkB,IAAAlO,GAAAO,KAAAokF,MAAA3gF,QAAAjN,EAAAmX,EAA8B,IAAAlO,IAAAO,KAAA4D,SAAAnE,EAAAO,KAAAokF,MAAA3gF,QAAAjN,EAAAmX,KAAAlO,EAAA,MAAAqwB,MAAA8H,SAAA,yBAAA,IAAsG53B,MAAAiwB,MAAAn4B,GAAA2H,EAAAO,KAAAkR,IAAApZ,IAAAyH,EAAgC,KAAA,GAAAzI,GAAAkJ,KAAA7G,KAAAtB,EAAAyE,EAAAioF,OAAA7jF,EAAA,EAAmCA,EAAA+xB,EAAI/xB,IAAA,IAAA,GAAAuxB,GAAAzyB,EAAA+D,OAAA9D,EAAAe,EAAAE,EAAlR,GAAkRjB,EAAAmB,EAAlR,EAAkR3J,EAAAyI,EAAAgB,EAAAE,EAAA,EAAgDA,EAAAlB,EAAIkB,IAAA9J,EAAAm7B,EAAArxB,GAAA/I,EAAAZ,EAAA2J,EAAkB,OAAAZ,MAAAy7C,OAAA,EAAAh8C,GAAuB0kF,WAAAxsF,UAAAiM,OAAA,WAAwC,GAAArE,GAAAS,KAAAzJ,EAAAyJ,KAAAuD,MAAAjH,EAAA0D,KAAAwD,MAAsC,MAAAjN,GAA1vC,MAA0vC+F,GAA1vC,MAA0vC,CAAgC0D,KAAAwxC,UAAAxxC,KAAAk8B,IAAAl8B,KAAAk8B,GAAAwjB,cAAA1/C,KAAAwxC,SAAAxxC,KAAAwxC,QAAA,MAAAxxC,KAAAuD,OAA1xC,EAA0xCvD,KAAAwD,QAA1xC,EAA0xCxD,KAAAokF,MAAAxgF,OAAA5D,KAAAuD,MAAAvD,KAAAwD,OAAoL,KAAA,GAAAjD,GAAA,GAAA2O,aAAAlP,KAAAuD,MAAAvD,KAAAwD,QAAAhE,EAAA,EAAsDA,EAAAlD,EAAIkD,IAAA,CAAK,GAAA1H,GAAA,GAAAue,YAAA9W,EAAApG,KAAAuT,OAAApQ,EAAAkD,EAAAjJ,EAAA,IAAA8f,YAAA9V,EAAAjE,EAAAkD,EAA7gD,EAA6gDjJ,GAAqF4Z,IAAArY,GAASkI,KAAA7G,KAAA,GAAAkd,YAAA9V,KAA6B4jF,WAAAxsF,UAAA6b,KAAA,SAAAjU,GAAuCS,KAAAk8B,GAAA38B,EAAAS,KAAAwxC,QAAAjyC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,UAAAxxC,KAAAwxC,QAAAjyC,EAAAozC,gBAAApzC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,SAAAjyC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAA2zC,mBAAA3zC,EAAA0zC,QAAA1zC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAyzC,mBAAAzzC,EAAA0zC,QAAA1zC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAszC,eAAAtzC,EAAAuzC,eAAAvzC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAwzC,eAAAxzC,EAAAuzC,eAAAvzC,EAAA4zC,WAAA5zC,EAAAmzC,WAAA,EAAAnzC,EAAAy7C,MAAAh7C,KAAAuD,MAAAvD,KAAAwD,OAAA,EAAAjE,EAAAy7C,MAAAz7C,EAAA8zC,cAAA,QAA2d8wC,WAAAxsF,UAAAshD,cAAA,SAAA15C,GAAgDS,KAAAwT,KAAAjU,GAAAS,KAAAy7C,QAAAl8C,EAAAw7C,cAAAx7C,EAAAmzC,WAAA,EAAA,EAAA,EAAA1yC,KAAAuD,MAAAvD,KAAAwD,OAAAjE,EAAAy7C,MAAAz7C,EAAA8zC,cAAArzC,KAAA7G,MAAA6G,KAAAy7C,OAAA,IAAsInlD,OAAAD,QAAA8tF,aAC10EvzD,eAAA,IAAA4zD,qBAAA,IAA0CC,KAAA,SAAA3kF,QAAAxJ,OAAAD,SAC7C,YAAa,SAAAquF,UAAAnlF,EAAAjD,EAAAoD,EAAAlJ,GAA2B,MAAAA,GAAAA,GAAA,MAAAkJ,EAAAilB,QAAA,MAAgCnuB,EAAA+I,EAAA5G,OAAAnC,EAAAmC,SAAAgsB,QAAA,cAA4CplB,GAAAolB,QAAA,UAAqBroB,GAAK,GAAAktD,cAAA1pD,QAAA,kBAAA6kF,mBAAAx9B,KAAArnD,QAAA,gBAAA8kF,uBAAA9kF,QAAA,mCAAA+kF,OAAA/kF,QAAA,kBAAAqkF,WAAArkF,QAAA,yBAAAs+B,SAAAt+B,QAAA,OAAAglF,YAAA,SAAAvlF,EAAAjD,EAAAoD,GAAsSM,KAAA+kF,QAAAxlF,EAAAwlF,QAAA/kF,KAAAisE,KAAA1sE,EAAA0sE,KAAAvsE,EAAR,EAAQM,KAAAosE,IAAA7sE,EAAA6sE,IAAA1sE,EAAR,EAAQM,KAAAglF,KAAA1oF,GAA2Eo+E,YAAA,SAAAn7E,GAAyBS,KAAAmmD,IAAA5mD,GAAAiqD,aAAAjqD,GAAAS,KAAAilF,WAA2CjlF,KAAAs1D,UAAet1D,KAAA4yD,WAAkB8nB,aAAA/iF,UAAAumF,gBAAA,SAAA3+E,EAAAjD,EAAAoD,EAAAlJ,GAAwD,GAAAD,GAAAyJ,SAAW,KAAAA,KAAAs1D,OAAA/1D,KAAAS,KAAAs1D,OAAA/1D,WAA2C,KAAAS,KAAAilF,QAAA1lF,KAAAS,KAAAilF,QAAA1lF,GAAA,GAAA4kF,YAA6D,KAAA,GAAA3kF,MAAYvI,EAAA+I,KAAAs1D,OAAA/1D,GAAAzH,EAAAkI,KAAAilF,QAAA1lF,GAAAgB,KAA4C1I,EAAA,EAAA4H,EAAA,SAAAnD,GAAmB,GAAA9F,GAAA0J,KAAAwN,MAAApR,EAAA,IAAwB,IAAArF,EAAAT,GAAA,CAAS,GAAAD,GAAAU,EAAAT,GAAAygE,OAAA36D,GAAAmD,EAAA3H,EAAAwsF,SAAA5kF,EAAAH,EAAAhJ,EAAhG,EAA2IA,KAAAiJ,EAAAlD,GAAA,GAAAwoF,aAAAvuF,EAAAkJ,EAA3I,aAA4K,KAAAc,EAAA/J,KAAA+J,EAAA/J,MAAAqB,KAAA0I,EAAA/J,GAAAoE,KAAA0B,IAA+C1F,EAAA,EAAKA,EAAA0F,EAAA3D,OAAW/B,IAAA,CAAK,GAAA4J,GAAAlE,EAAA1F,GAAA0I,EAAAkY,OAAAC,aAAAjX,EAAoCf,GAAAe,GAAAokF,uBAAAM,OAAA5lF,IAAAG,EAAAmlF,uBAAAM,OAAA5lF,GAAA6X,WAAA,IAAyFtf,GAAArB,MAAA,GAAAgJ,EAAAD,EAAiB,IAAAc,GAAA,SAAA/D,EAAArF,EAAAwI,GAAsB,IAAAnD,EAAA,IAAA,GAAA1F,GAAAL,EAAA++D,OAAA/1D,GAAAtI,GAAAwI,EAAA61D,OAAA,GAAA90D,EAAA,EAA+CA,EAAAD,EAAAtJ,GAAA0B,OAAc6H,IAAA,CAAK,GAAAlB,GAAAiB,EAAAtJ,GAAAuJ,GAAAH,EAAAzJ,EAAAqgE,OAAA33D,GAAAxI,EAAAgB,EAAAwsF,SAAA5kF,EAAAH,EAAAc,EAAtd,EAAwgBA,KAAAb,EAAAF,GAAA,GAAAwlF,aAAAzkF,EAAAvJ,EAAxgB,MAAyiBe,GAAArB,MAAA,GAAAgJ,EAAAD,GAAsB,KAAA,GAAAzI,KAAAyJ,GAAAhK,EAAA4uF,UAAA5lF,EAAAzI,EAAAuJ,IAAkCq6E,YAAA/iF,UAAAwtF,UAAA,SAAA5lF,EAAAjD,EAAAoD,GAAiD,GAAA,IAAApD,EAAA,MAAA,MAAAoD,GAAA,oCAAwD,KAAAM,KAAA4yD,QAAArzD,KAAAS,KAAA4yD,QAAArzD,MAA+C,IAAA/I,GAAAwJ,KAAA4yD,QAAArzD,EAAsB,IAAA/I,EAAA8F,GAAA9F,EAAA8F,GAAA1B,KAAA8E,OAAqB,CAAKlJ,EAAA8F,IAAAoD,EAAS,IAAAF,GAAAklF,SAAAnlF,EAAA,IAAAjD,EAAA,KAAA,IAAAA,EAAA,KAAA0D,KAAAmmD,IAAqDgB,MAAAkF,eAAA7sD,EAAA,SAAAD,EAAAG,GAAoC,IAAA,GAAAnJ,IAAAgJ,GAAA,GAAAslF,QAAA,GAAAzmD,UAAA1+B,EAAAvG,OAAAqG,EAAA,EAAmDA,EAAAhJ,EAAA8F,GAAA3D,OAAc6G,IAAAhJ,EAAA8F,GAAAkD,GAAAD,EAAAjD,EAAA/F,SAAmBC,GAAA8F,OAAeo+E,YAAA/iF,UAAAqhD,cAAA,SAAAz5C,GAAiD,MAAAS,MAAAilF,QAAA1lF,IAAuBjJ,OAAAD,QAAAqkF,cAC90D0K,wBAAA,IAAAp9B,eAAA,IAAAq9B,iBAAA,IAAAt7B,iBAAA,IAAAu7B,kCAAA,IAAAv6D,IAAA,KAAwIw6D,KAAA,SAAAzlF,QAAAxJ,OAAAD,SAC3I,YAAaC,QAAAD,QAAA,SAAAiG,GAA2B,QAAAiD,GAAAA,GAAcuB,EAAAlG,KAAA0B,EAAAiD,IAAA/I,IAAiB,QAAAgJ,GAAAlD,EAAAiD,EAAAC,GAAkB,GAAAjI,GAAAkI,EAAAnD,EAAW,cAAAmD,GAAAnD,GAAAmD,EAAAF,GAAAhI,EAAAuJ,EAAAvJ,GAAAgC,SAAA,GAAAiU,MAAA1M,EAAAvJ,GAAAgC,SAAA,GAAAuH,EAAAvJ,GAAAgC,SAAA,GAAA+J,OAAA9D,EAAA,IAAAjI,EAAkG,QAAAA,GAAA+E,EAAAiD,EAAAC,GAAkB,GAAAjI,GAAAhB,EAAAgJ,EAAW,cAAAhJ,GAAAgJ,GAAAhJ,EAAA+F,GAAA/E,EAAAuJ,EAAAvJ,GAAAgC,SAAA,GAAAkpF,QAAA3hF,EAAAvJ,GAAAgC,SAAA,GAAAiG,EAAA,GAAA8D,OAAAxC,EAAAvJ,GAAAgC,SAAA,IAAAhC,EAAoG,QAAAN,GAAAqF,EAAAiD,EAAAC,GAAkB,GAAAjI,GAAAiI,EAAAD,EAAA,GAAAA,EAAA,GAAA5G,OAAA,GAAA4G,EAAA,GAAA,EAAoC,OAAAjD,GAAA,IAAA/E,EAAAqJ,EAAA,IAAArJ,EAAAiJ,EAAyB,IAAA,GAAAjK,MAAYkJ,KAAKqB,KAAAtK,EAAA,EAAAG,EAAA,EAAcA,EAAA2F,EAAA3D,OAAWhC,IAAA,CAAK,GAAA6J,GAAAlE,EAAA3F,GAAAC,EAAA4J,EAAAjH,SAAA+F,EAAAkB,EAAAxI,IAAiC,IAAAsH,EAAA,CAAM,GAAAI,GAAAzI,EAAAqI,EAAA1I,GAAAkB,EAAAb,EAAAqI,EAAA1I,GAAA,EAAyB,IAAA8I,IAAAD,IAAA3H,IAAAvB,IAAAkJ,EAAAC,KAAAnJ,EAAAuB,GAAA,CAAgC,GAAAuI,GAAA9I,EAAAmI,EAAA5H,EAAAlB,GAAAE,EAAA0I,EAAAE,EAAA5H,EAAAgJ,EAAAT,GAAA9G,gBAAsChD,GAAAmJ,SAAAD,GAAA3H,GAAA2H,EAAAxI,EAAAqI,EAAAwB,EAAAhK,GAAAyC,UAAA,IAAAzC,EAAAgK,EAAAT,GAAA9G,SAAA,SAAsEmG,KAAAD,GAAAD,EAAAE,EAAA5H,EAAAlB,GAAAkB,IAAAvB,GAAAgB,EAAAmI,EAAA5H,EAAAlB,IAAA2I,EAAA5I,GAAAJ,EAAAmJ,GAAAlJ,EAAA,EAAAiJ,EAAA3H,GAAAtB,EAAA,OAA8D+I,GAAA5I,GAAU,MAAAmK,GAAAiS,OAAA,SAAAzW,GAA4B,MAAAA,GAAA/C,iBACjvBisF,KAAA,SAAA1lF,QAAAxJ,OAAAD,SACJ,YAAa,SAAAovF,YAAAlmF,EAAAjD,EAAA/E,EAAAmI,EAAAnJ,EAAAU,EAAAT,EAAAgJ,EAAAe,EAAA3J,EAAAkK,GAA2Cd,KAAA05B,YAAAn6B,EAAAS,KAAAq5B,GAAA/8B,EAAA0D,KAAAs5B,GAAA/hC,EAAAyI,KAAAu5B,GAAA75B,EAAAM,KAAAw5B,GAAAjjC,EAAAyJ,KAAAy5B,IAAAxiC,EAAA+I,KAAAm5B,YAAA3iC,EAAAwJ,KAAA25B,WAAAn6B,EAAAQ,KAAA24B,SAAAp4B,EAAAP,KAAAk4B,SAAAthC,EAAAoJ,KAAAo5B,YAAAt4B,EAA8J,QAAAu1B,cAAA92B,EAAAjD,EAAA/E,EAAAmI,EAAAnJ,EAAAU,EAAAT,EAAAgJ,EAAAe,GAAyC,GAAA3J,GAAAkK,EAAArB,EAAA9I,EAAAmB,EAAAwE,EAAAmsD,MAAAu8B,KAAAluF,EAAAP,EAAA2F,OAAAuO,EAAAnO,EAAA2vE,KAAA,EAAA3sE,EAAAmL,EAAA3S,EAAA2I,EAAAnE,EAAAmsD,MAAA5wB,WAAAv3B,EAAAhE,EAAA8vE,IAAA,EAAA5rE,EAAAF,EAAAxI,EAAAyI,EAAAjE,EAAAmsD,MAAA5wB,UAAqH,IAAA,SAAA/gC,EAAA,kBAAAN,EAAA,CAAmC,GAAAs9B,GAAAx0B,EAAAmL,EAAA5S,EAAA2I,EAAAF,EAAAG,EAAA3J,EAAA,aAAA,GAAAuJ,EAAA7J,EAAAy1E,KAAAxrE,EAAAI,EAAArK,EAAA01E,MAAAzrE,EAAAkzB,EAAAn9B,EAAA41E,IAAA3rE,EAAAw3B,EAAAp3B,EAAAR,EAAA4uC,EAAAz4C,EAAA61E,OAAA5rE,EAAAkzB,EAAAD,EAAA58B,EAAA,yBAAA,GAAAw8B,EAAAx8B,EAAA,yBAAA,GAAA4J,EAAA5J,EAAA,yBAAA,GAAAob,EAAApb,EAAA,yBAAA,GAAA27B,EAAA,UAAA37B,EAAA,iBAAA,IAAAm4C,EAAAp3C,GAAA,EAAA8I,EAAA,WAAA7J,EAAA,iBAAA,IAAAmhC,EAAAnE,GAAA,EAAA1yB,EAAA,UAAAtK,EAAA,kBAAA,SAAAA,EAAA,iBAAAmhC,EAAAnE,EAAAxjB,EAAA,WAAAxZ,EAAA,kBAAA,SAAAA,EAAA,iBAAAm4C,EAAAp3C,CAAobjB,GAAA,GAAA+lB,OAAAtc,EAAAM,EAAAuR,EAAAyhB,EAAAlB,EAAAiB,GAAA5yB,EAAA,GAAA6b,OAAAtc,EAAAM,EAAA2yB,EAAAlyB,EAAAuyB,EAAAlB,EAAAiB,GAAAj0B,EAAA,GAAAkd,OAAAtc,EAAAM,EAAA2yB,EAAAlyB,EAAAuyB,EAAAlB,EAAA/xB,EAAA4P,GAAA3Z,EAAA,GAAAgmB,OAAAtc,EAAAM,EAAAuR,EAAAyhB,EAAAlB,EAAA/xB,EAAA4P,OAA4G1Z,GAAA,GAAA+lB,OAAAlS,EAAAnK,GAAAQ,EAAA,GAAA6b,OAAArd,EAAAgB,GAAAb,EAAA,GAAAkd,OAAArd,EAAAkB,GAAA7J,EAAA,GAAAgmB,OAAAlS,EAAAjK,EAAyE,IAAAQ,GAAAzK,EAAAq+B,eAAA,cAAAp1B,EAAAe,GAAAL,KAAAgG,GAAA,GAAsD,IAAAjP,EAAA,CAAM,GAAAkK,GAAAzB,EAAAH,EAAA8iF,QAAmB,IAAA9iF,EAAAiB,IAAAW,EAAAX,GAAAjB,EAAAqB,IAAAO,EAAAP,GAAArB,EAAA8iF,QAAA,EAAA3iF,EAAA/G,OAAA,CAA+C,GAAAgP,GAAAjI,EAAAH,EAAA8iF,QAAA,EAAqBrhF,IAAAd,KAAA4d,MAAAve,EAAAiB,EAAAmH,EAAAnH,EAAAjB,EAAAqB,EAAA+G,EAAA/G,GAAAV,KAAAgG,OAAuClF,IAAAd,KAAA4d,MAAAve,EAAAiB,EAAAW,EAAAX,EAAAjB,EAAAqB,EAAAO,EAAAP,GAAoC,GAAAI,EAAA,CAAM,GAAAD,GAAAb,KAAAC,IAAAa,GAAA6yB,EAAA3zB,KAAAE,IAAAY,GAAAqyB,GAAAQ,GAAA9yB,EAAAA,EAAA8yB,EAA6Cj9B,GAAAA,EAAAwmB,QAAAiW,GAAAvyB,EAAAA,EAAAsc,QAAAiW,GAAA18B,EAAAA,EAAAymB,QAAAiW,GAAA5zB,EAAAA,EAAA2d,QAAAiW,GAA4D,OAAA,GAAAoyD,YAAA,GAAA9oE,OAAApd,EAAAqB,EAAArB,EAAAiB,GAAA5J,EAAAkK,EAAAnK,EAAA8I,EAAAnD,EAAAmsD,MAAAu8B,KAAA,EAAA,EAAArsD,SAAA,EAAA,IAAiF,QAAAvC,eAAA72B,EAAAjD,EAAA/E,EAAAmI,EAAAnJ,EAAAU,EAAAT,EAAAgJ,GAAwC,IAAA,GAAAe,GAAAhK,EAAAq+B,eAAA,cAAAp+B,EAAAgJ,GAAAU,KAAAgG,GAAA,IAAAtP,EAAAL,EAAA2F,OAAA,qBAAA4E,EAAAxE,EAAAopF,iBAAAjmF,KAAA9I,EAAA,EAAwHA,EAAAmK,EAAAnI,OAAWhC,IAAA,CAAK,GAAAmB,GAAAgJ,EAAAnK,GAAAG,EAAAgB,EAAAy+B,KAAqB,IAAAz/B,EAAA,CAAM,GAAA8J,GAAA9J,EAAAkuF,IAAa,IAAApkF,EAAA,CAAM,GAAA6J,IAAA3S,EAAA8I,EAAA9J,EAAAiuF,QAAA,GAAAxtF,EAAA+H,MAAA,GAAAgB,EAAAq4B,QAA8C1hC,IAAAqI,KAAAgB,EAAAqlF,cAAArmF,EAAAC,EAAAkL,EAAA/K,EAAAH,EAAA8iF,SAAA,GAAAzrF,IAAA0J,EAAAJ,KAAAgK,IAAA5J,EAAAqlF,cAAArmF,EAAAC,EAAAkL,EAAA/K,EAAAH,EAAA8iF,SAAA,MAAA/iF,IAA0Go6B,YAAA,GAAA/c,OAAApd,EAAAqB,EAAArB,EAAAiB,GAAAolF,YAAA,EAAA/nE,MAAA,EAAAqa,SAAA,EAAA,EAAAS,SAAAA,UAAsF,IAAAn4B,GAAA1I,EAAA8I,EAAA9J,EAAAm1E,KAAAn4C,EAAAh8B,EAAA0I,EAAA1J,EAAAs1E,IAAAv0E,EAAA2I,EAAAI,EAAAH,EAAAA,EAAAqzB,EAAAlzB,EAAAL,EAAAF,EAAA,GAAAsc,OAAA7kB,EAAA8I,EAAA9J,EAAAiuF,QAAA,GAAAlkF,EAAA,GAAA8b,OAAAnc,EAAAszB,GAAAH,EAAA,GAAAhX,OAAA9kB,EAAAi8B,GAAA7B,EAAA,GAAAtV,OAAAnc,EAAAC,GAAAw3B,EAAA,GAAAtb,OAAA9kB,EAAA4I,EAA8I,KAAA3I,EAAA+lB,QAAAhd,EAAAkc,KAAA1c,GAAA8c,QAAArlB,EAAA+lB,OAAAhB,KAAAxc,GAAAszB,EAAA5W,KAAA1c,GAAA8c,QAAArlB,EAAA+lB,OAAAhB,KAAAxc,GAAA4xB,EAAAlV,KAAA1c,GAAA8c,QAAArlB,EAAA+lB,OAAAhB,KAAAxc,GAAA43B,EAAAlb,KAAA1c,GAAA8c,QAAArlB,EAAA+lB,OAAAhB,KAAAxc,GAA2J,KAAA,GAAA4uC,GAAA,EAAYA,EAAA3vC,EAAA3G,OAAWs2C,IAAA,CAAK,GAAAvb,GAAAp0B,EAAA2vC,GAAA3b,EAAAzyB,EAAAH,EAAAizB,EAAAzhB,EAAA+f,EAAAQ,EAAAwF,CAA2B,IAAA13B,EAAA,CAAM,GAAAI,GAAAT,KAAAC,IAAAI,GAAAa,EAAAlB,KAAAE,IAAAG,GAAA+P,GAAAlP,GAAAT,EAAAA,EAAAS,EAA6CkyB,GAAAA,EAAAlW,QAAA9M,GAAA5P,EAAAA,EAAA0c,QAAA9M,GAAA4B,EAAAA,EAAAkL,QAAA9M,GAAAmiB,EAAAA,EAAArV,QAAA9M,GAA4D,GAAAtP,GAAAd,KAAAyD,IAAA+vB,EAAAiF,SAAAr4B,GAAAa,GAAA5B,EAAAse,OAAA6V,EAAAkyD,WAAA1lF,KAAAgG,GAAA,GAAA,EAAAhG,KAAAgG,KAAA,EAAAhG,KAAAgG,IAAAyB,GAAA+rB,EAAA7V,OAAA6V,EAAAkyD,WAAA1lF,KAAAgG,GAAA,GAAA,EAAAhG,KAAAgG,KAAA,EAAAhG,KAAAgG,GAAmJzG,GAAA7E,KAAA,GAAA6qF,YAAA/xD,EAAAgG,YAAApG,EAAA5yB,EAAAwR,EAAAugB,EAAA7xB,EAAAO,EAAAwG,EAAA3G,EAAA0yB,EAAAwE,SAAA57B,EAAA88B,iBAAkF,MAAA35B,GAAS,QAAAkmF,eAAApmF,EAAAjD,EAAA/E,EAAAmI,EAAAnJ,EAAAU,GAAoC,IAAA,GAAAT,GAAAe,GAAA,EAAAN,EAAAuI,EAAAU,KAAAsF,IAAAjO,GAAAgJ,EAAA,GAAAoc,OAAArgB,EAAAsE,EAAAtE,EAAAkE,GAAA5J,EAAAivF,cAAArvF,EAAAkJ,EAAAnJ,GAAAuK,GAA8Eq3B,OAAA53B,EAAAulF,IAAAlvF,EAAAq5B,MAAA15B,EAAAoiC,SAAAotD,sBAAAvmF,EAAAe,EAAA3J,GAAAshC,SAAA,EAAA,KAA4E,CAAE,GAAA8tD,mBAAAzmF,EAAAuB,EAAAtK,EAAAS,GAAA6J,EAAA63B,UAAAr8B,EAAAuF,MAAA,MAAAvF,GAAAuF,KAAkE,IAAApC,GAAAwmF,sBAAAnlF,EAAApB,EAAAF,EAAAhJ,EAAqC,KAAAiJ,EAAA,MAAAqB,GAAA63B,QAAwB73B,GAAArB,GAAK,QAAAumF,oBAAAzmF,EAAAjD,EAAA/E,EAAAmI,GAAqC,GAAAnJ,GAAA2J,KAAA4d,MAAAxhB,EAAAwpF,IAAAtlF,EAAAlE,EAAA67B,OAAA33B,EAAAlE,EAAAwpF,IAAAllF,EAAAtE,EAAA67B,OAAAv3B,GAAA3J,EAAAM,EAAAhB,EAAAA,EAAA2J,KAAAgG,EAAwE3G,GAAA3E,MAAQ8+B,YAAAp9B,EAAA67B,OAAAytD,WAAAlmF,EAAAi5B,SAAAr8B,EAAAq8B,SAAAT,SAAA57B,EAAA47B,SAAAra,OAAA5mB,EAAA,EAAAiJ,KAAAgG,KAAA,EAAAhG,KAAAgG,MAA4G,QAAAggF,yBAAA3mF,EAAAjD,EAAA/E,GAAwC,GAAAmI,GAAApD,EAAAwgB,IAAAvd,GAAAge,OAAuB,OAAAhe,GAAAud,IAAApd,EAAAud,MAAA1lB,IAAyB,QAAAwuF,uBAAAxmF,EAAAjD,EAAA/E,GAAsD,MAAAgI,GAAhBjD,EAAAiO,KAAAhT,GAA2B,QAAAsuF,eAAAtmF,EAAAjD,EAAA/E,GAA8B,MAAAgI,GAAAjD,EAAA/E,EAAA,GAAA+E,EAAA/E,GAAqB,QAAA0uF,uBAAA1mF,EAAAjD,EAAA/E,EAAAmI,GAAwC,IAAA,GAAAnJ,GAAAgJ,EAAAumF,IAAA7uF,EAAAV,EAAAC,EAAA+I,EAAA0wB,MAA8Bh5B,EAAA4P,OAAAtQ,IAAY,CAAE,GAAAmJ,GAAAlJ,EAAA,EAAA8F,EAAA3D,OAAAnC,GAAA,MAAwB,CAAK,GAAAkJ,GAAA,IAAAlJ,EAAA,MAAA,KAAwBA,IAAA,EAAKS,EAAA4uF,cAAAnmF,EAAApD,EAAA9F,GAAuB,GAAAgJ,GAAA0mF,wBAAA3vF,EAAAU,EAAAsI,EAAA44B,OAAA5tB,KAAAhL,EAAAumF,KAAwD,QAAO3tD,OAAA34B,EAAAsmF,IAAA7uF,EAAAg5B,MAAAz5B,EAAAmiC,SAAAotD,sBAAAxuF,EAAAiI,EAAAvI,GAAAihC,SAAA34B,EAAAo5B,UAAkF,GAAAhc,OAAA7c,QAAA,iBAAoCxJ,QAAAD,SAAgBggC,aAAAA,aAAAD,cAAAA,cAAAqvD,WAAAA,WAA6E,IAAA9sD,UAAA,KAC5sHrP,iBAAA,KAAoB68D,KAAA,SAAArmF,QAAAxJ,OAAAD,SACvB,YAAa,SAAA+vF,iBAAA9pF,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,GAAoCQ,KAAAqmF,UAAA/pF,EAAA0D,KAAAY,EAAArB,EAAAS,KAAAQ,EAAAjK,EAAAyJ,KAAAu2B,MAAAh/B,GAAA,KAAAyI,KAAA6d,MAAAre,EAAmE,QAAAk2B,SAAAp5B,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,EAAAE,EAAAzI,GAAgC+I,KAAA0lF,iBAAAppF,EAAA0D,KAAAhI,KAAAuH,EAAAS,KAAAosE,IAAA71E,EAAAyJ,KAAAqsE,OAAA90E,EAAAyI,KAAAisE,KAAAzsE,EAAAQ,KAAAksE,MAAAxsE,EAAAM,KAAAo5B,YAAAniC,EAAyG,QAAAqvF,YAAAhqF,EAAAiD,GAAyB,IAAA,GAAAhJ,MAAAgB,EAAA,EAAAiI,EAAA,EAAAE,EAAAH,EAAyBC,EAAAE,EAAA/G,OAAW6G,GAAA,EAAA,CAAM,GAAAvI,GAAAyI,EAAAF,EAAWjJ,GAAAqE,KAAA0B,EAAAiqF,UAAAhvF,EAAAN,IAAAM,EAAAN,EAA6B,MAAAM,GAAA+E,EAAA3D,QAAApC,EAAAqE,KAAA0B,EAAAiqF,UAAAhvF,EAAA+E,EAAA3D,SAAApC,EAAqD,QAAA0/B,WAAA35B,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,EAAAE,EAAAzI,EAAAa,EAAAyI,EAAA/J,EAAAI,GAA0C,GAAA6I,GAAAnD,EAAAkqF,MAAe5vF,KAAAu/B,YAAAuB,WAAAj4B,EAAAmlF,uBAAAnlF,GAAwD,IAAA3I,GAAAgK,KAAAjJ,EAAA,GAAA69B,SAAA50B,EAAArB,EAAAc,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAA3J,EAAoD,OAAAE,GAAAiyC,cAAAirB,yBAAAjrB,cAAAirB,yBAAAv0D,EAAAgnF,oBAAAhnF,EAAA3H,EAAAvB,EAAAgJ,IAAA+mF,WAAA7mF,EAAAgnF,oBAAAhnF,EAAA3H,EAAAvB,EAAAgJ,IAAAmnF,WAAA7uF,EAAA0H,EAAAzI,EAAAS,EAAAiI,EAAAE,EAAAzI,EAAAsJ,EAAA3J,EAAAkB,EAAAtB,KAAAsK,EAAAnI,QAAAd,EAAkN,QAAA8uF,2BAAArqF,EAAAiD,EAAAhJ,EAAAgB,GAA4C,GAAAiI,GAAA,CAAQ,KAAA,GAAAE,KAAApD,GAAA,CAAgB,GAAArF,GAAAM,EAAA+E,EAAA6a,WAAAzX,GAAyBzI,KAAAuI,GAAAvI,EAAA8tF,QAAAxlF,GAAqD,MAAAC,GAAjCU,KAAAyD,IAAA,EAAAzD,KAAAmY,KAAA7Y,EAAAjJ,IAA4C,QAAAqwF,kBAAAtqF,EAAAiD,EAAAhJ,EAAAgB,GAAmC,GAAAiI,GAAAU,KAAA+F,IAAA3J,EAAAiD,EAAA,EAAsB,OAAAhI,GAAA+E,EAAAiD,EAAAC,EAAA,EAAA,EAAAA,EAAAA,EAAAU,KAAAsF,IAAAjP,GAAAA,EAAqC,QAAAswF,kBAAAvqF,EAAAiD,GAA+B,GAAAhJ,GAAA,CAAQ,OAAA,MAAA+F,IAAA/F,GAAA,KAAA,KAAA+F,GAAA,QAAAA,IAAA/F,GAAA,IAAA,KAAAgJ,GAAA,QAAAA,IAAAhJ,GAAA,IAAAA,EAAgF,QAAAuwF,eAAAxqF,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,EAAAE,GAAoC,IAAA,GAAAzI,GAAA,KAAAa,EAAA8uF,iBAAArnF,EAAAhJ,EAAAiJ,EAAAE,GAAAa,EAAA,EAAA/J,EAAAe,EAAmDgJ,EAAA/J,EAAAmC,OAAW4H,GAAA,EAAA,CAAM,GAAA3J,GAAAJ,EAAA+J,GAAAzJ,EAAA8vF,iBAAArnF,EAAA3I,EAAAgK,EAAArK,EAAAiJ,EAAAE,GAAA9I,EAAAmwF,OAAyDjwF,IAAAgB,IAAAb,EAAAL,EAAAkB,EAAAhB,GAAgB,OAAOm5B,MAAA3zB,EAAAsE,EAAArB,EAAAynF,WAAA/vF,EAAA8vF,QAAAjvF,GAAoC,QAAAmvF,gBAAA3qF,GAA2B,MAAAA,GAAA2qF,eAAA3qF,EAAA0qF,YAAA1jF,OAAAhH,EAAA2zB,UAAyD,QAAAw2D,qBAAAnqF,EAAAiD,EAAAhJ,EAAAgB,GAAsC,IAAAhB,EAAA,QAAe,KAAA+F,EAAA,QAAe,KAAA,GAAAkD,MAAAE,EAAAinF,0BAAArqF,EAAAiD,EAAAhJ,EAAAgB,GAAAN,EAAA,EAAAa,EAAA,EAA0DA,EAAAwE,EAAA3D,OAAWb,IAAA,CAAK,GAAAyI,GAAAjE,EAAA6a,WAAArf,GAAAtB,EAAAe,EAAAgJ,EAA6B/J,KAAA0wF,WAAA3mF,KAAAtJ,GAAAT,EAAAuuF,QAAAxlF,GAAAzH,EAAAwE,EAAA3D,OAAA,IAAAwuF,UAAA5mF,IAAAu1B,gBAAAsxD,8BAAA7mF,KAAAf,EAAA5E,KAAAksF,cAAAhvF,EAAA,EAAAb,EAAAyI,EAAAF,EAAAqnF,iBAAAtmF,EAAAjE,EAAA6a,WAAArf,EAAA,KAAA,IAA8L,MAAAmvF,gBAAAH,cAAAxqF,EAAA3D,OAAA1B,EAAAyI,EAAAF,EAAA,GAAA,IAA0D,QAAAknF,YAAApqF,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,EAAAE,EAAAzI,EAAAa,EAAAyI,EAAA/J,EAAAI,GAA2C,GAAAE,GAAA,EAAAgK,GAAA,GAAAjJ,EAAA,EAAAwI,EAAA/D,EAAAopF,gBAA2C,KAAA,GAAApmF,KAAA/I,GAAA,CAAgB,GAAAqK,GAAArK,EAAA+I,GAAAknF,MAAkB,IAAA5lF,EAAAjI,OAAA,CAAa,IAAA,GAAAk7B,GAAAxzB,EAAA1H,OAAAwI,EAAA,EAAuBA,EAAAP,EAAAjI,OAAWwI,IAAA,CAAK,GAAA2yB,GAAAlzB,EAAAuW,WAAAhW,GAAAN,EAAAtB,EAAAu0B,EAA6BjzB,KAAAi1B,gBAAAuxD,kCAAAvzD,IAAAvzB,IAAA41B,YAAAsB,YAAAp3B,EAAAzF,KAAA,GAAAwrF,iBAAAtyD,EAAAh9B,EAAA,EAAA+J,GAAAX,KAAAgG,GAAA,IAAApP,GAAAF,EAAAJ,IAAA6J,EAAAzF,KAAA,GAAAwrF,iBAAAtyD,EAAAh9B,EAAAgK,EAAAD,EAAA,IAAA/J,GAAA+J,EAAAkkF,QAAAvuF,IAAuM,GAAA6J,EAAA1H,SAAAk7B,EAAA,CAAiB,GAAAl9B,GAAAG,EAAAN,CAAUqB,GAAAqI,KAAAyD,IAAAhN,EAAAkB,GAAAyvF,YAAAjnF,EAAAd,EAAAs0B,EAAAxzB,EAAA1H,OAAA,EAAA1B,GAAgDH,EAAA,EAAAgK,GAAAvJ,MAASuJ,IAAAvJ,EAAUgwF,MAAAlnF,EAAApJ,EAAAuI,EAAAE,EAAA7H,EAAAN,EAAAhB,EAAAoC,OAAAb,EAA8B,IAAA0I,GAAAjK,EAAAoC,OAAApB,CAAiB+E,GAAA8vE,MAAA1sE,EAAAc,EAAAlE,EAAA+vE,OAAA/vE,EAAA8vE,IAAA5rE,EAAAlE,EAAA2vE,OAAAzsE,EAAA3H,EAAAyE,EAAA4vE,MAAA5vE,EAAA2vE,KAAAp0E,EAA2D,QAAAyvF,aAAAhrF,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,GAAgC,GAAAA,EAAA,IAAA,GAAAE,GAAAH,EAAAjD,EAAA/E,GAAA8uF,WAAAtB,QAAA9tF,GAAAqF,EAAA/E,GAAAqJ,EAAAlB,GAAAF,EAAA1H,EAAAvB,EAA4DuB,GAAAP,EAAKO,IAAAwE,EAAAxE,GAAA8I,GAAA3J,EAAc,QAAAswF,OAAAjrF,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,EAAAE,EAAAzI,EAAAa,GAAgC,IAAA,GAAAyI,IAAAhB,EAAAhJ,GAAAiJ,EAAA1H,EAAA,GAAAtB,IAAAe,EAAAN,EAAA,IAAAyI,EAAA5H,EAAA,GAAAlB,EAAA,EAA8CA,EAAA0F,EAAA3D,OAAW/B,IAAA0F,EAAA1F,GAAAgK,GAAAL,EAAAjE,EAAA1F,GAAA4J,GAAAhK,EAAwB,QAAA0/B,WAAA55B,EAAAiD,GAAwB,IAAAjD,IAAAA,EAAA0oF,KAAA,MAAA,KAA2B,IAAAzuF,GAAAgJ,EAAA,GAAAhI,EAAAgI,EAAA,GAAAC,EAAAjJ,EAAA+F,EAAAiH,MAAA,EAAA7D,EAAAF,EAAAlD,EAAAiH,MAAAtM,EAAAM,EAAA+E,EAAAkH,OAAA,CAAwE,OAAA,IAAAgkF,gBAAAlrF,EAAArF,EAAxEA,EAAAqF,EAAAkH,OAAwEhE,EAAAE,GAAqC,QAAA8nF,gBAAAlrF,EAAAiD,EAAAhJ,EAAAgB,EAAAiI,GAAmCQ,KAAAyoD,MAAAnsD,EAAA0D,KAAAosE,IAAA7sE,EAAAS,KAAAqsE,OAAA91E,EAAAyJ,KAAAisE,KAAA10E,EAAAyI,KAAAksE,MAAA1sE,EAA+D,GAAAs2B,iBAAAh2B,QAAA,4BAAA8kF,uBAAA9kF,QAAA,mCAAAipC,cAAAjpC,QAAA,6BAAAq2B,aAA0LsB,WAAA,EAAAC,SAAA,EAAyBphC,QAAAD,SAAgB4/B,UAAAA,UAAAC,UAAAA,UAAAC,YAAAA,YAAiE,IAAA+wD,aAAgBt8E,GAAA,EAAAU,IAAA,EAAAG,IAAA,EAAA0C,IAAA,EAAAE,IAAA,EAAAwU,IAAA,GAAmCskE,WAAY77E,IAAA,EAAAuX,IAAA,EAAA+G,IAAA,EAAAwB,IAAA,EAAAgB,IAAA,EAAAiB,IAAA,EAAAuC,IAAA,EAAAkC,IAAA,EAAA21D,KAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,KACnvGzJ,4BAAA,GAAA0J,2BAAA,IAAAzC,kCAAA,MAAoG0C,KAAA,SAAAloF,QAAAxJ,OAAAD,SACvG,YAAa,SAAA4xF,YAAA1oF,EAAAhJ,EAAA+F,EAAAkD,EAAAE,EAAAa,EAAAzI,EAAAb,EAAAM,EAAAf,EAAAqB,GAA2C,GAAAyH,GAAAG,EAAA3I,EAAA0I,EAAAjJ,EAAA+F,EAAAwE,EAAA7J,EAAAsJ,EAAAzI,CAAwB,IAAAD,EAAA,IAAAiJ,GAAAP,EAAAd,GAAA,EAAmBA,GAAAjJ,EAAKiJ,IAAAqB,GAAAP,EAAA,IAAAzJ,IAAA2I,EAAAjJ,GAAAA,EAAAgJ,GAAAjJ,EAAA+F,EAAAgD,GAAA,EAAoCA,GAAA/H,EAAK+H,IAAAI,EAAAoB,EAAAxB,GAAAC,EAAAzI,GAAAwI,EAAA/H,GAAAA,OAAwB,KAAAkI,EAAA,EAAaA,EAAAjJ,EAAIiJ,IAAA3I,GAAAP,EAAAuK,GAAAP,EAAA,IAAAjB,EAAA,EAAsBA,EAAA/H,EAAI+H,IAAAI,EAAAoB,EAAAxB,GAAAC,EAAAzI,EAAAwI,GAAkB,GAAAoD,WAAA5C,QAAA,sBAAA0f,QAAA1f,QAAA,mBAAAgwB,KAAAhwB,QAAA,gBAAA1G,OAAA0G,QAAA,kBAAA66E,YAAA,SAAAp7E,GAAwM,QAAAhJ,GAAAA,EAAA+F,GAAgBiD,EAAA7I,KAAAsJ,MAAAA,KAAAuD,MAAAhN,EAAAyJ,KAAAwD,OAAAlH,EAAA0D,KAAAkoF,UAAA,GAAAxlF,WAAAnM,EAAA+F,GAAA0D,KAAAmoF,UAAwFnoF,KAAA7G,MAAA,EAAA6G,KAAAwxC,QAAA,EAAAxxC,KAAA+S,OAAA,EAAA/S,KAAA63B,WAAArY,QAAAwsB,iBAAA,EAAA,EAAA,EAAAhsC,KAAAy7C,OAAA,EAAwG,MAAAl8C,KAAAhJ,EAAAi7B,UAAAjyB,GAAAhJ,EAAAoB,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAApB,EAAAoB,UAAAgrB,YAAApsB,EAAAA,EAAAoB,UAAAywF,cAAA,SAAA7oF,EAAAhJ,GAA4K,GAAAiJ,IAAtCD,GAAAS,KAAA63B,YAAsC,GAAA,GAAAt4B,EAAA,GAAA,GAAAG,GAAtCnJ,GAAAyJ,KAAA63B,YAAsC,GAAA,GAAAthC,EAAA,GAAA,GAAAgK,EAAAP,KAAAkoF,UAAAzkF,QAAAjE,EAAAE,EAA0E,OAAAa,KAAAuvB,KAAA8H,SAAA,6BAAA,OAA6DrhC,EAAAoB,UAAA0wF,SAAA,SAAA9oF,EAAAhJ,EAAA+F,GAAsC,GAAAkD,GAAAE,EAAAa,CAAU,IAAAhK,YAAA6C,QAAAkvF,kBAAA9oF,EAAAjJ,EAAAgN,MAAA7D,EAAAnJ,EAAAiN,OAAAjN,EAAAipB,QAAAi5D,aAAAliF,GAAAgK,EAAA,IAAAf,EAAAlD,EAAAiH,MAAA7D,EAAApD,EAAAkH,OAAAjD,EAAAjE,EAAAu7B,YAAA,GAAA3oB,YAAAq5E,OAAAhyF,KAAAA,EAAA,GAAAiyF,aAAAjyF,EAAAmW,WAAAnW,YAAAiyF,cAAA,MAAAxoF,MAAAwkD,KAAA,SAAiPt+B,MAAA,GAAAvmB,OAAA,qGAAsH,IAAAK,KAAAmoF,OAAA5oF,GAAA,MAAAS,MAAAwkD,KAAA,SAA4Ct+B,MAAA,GAAAvmB,OAAA,4CAA6D,IAAA7H,GAAAkI,KAAAooF,cAAA5oF,EAAAE,EAA8B,KAAA5H,EAAA,MAAAkI,MAAAwkD,KAAA,SAAgCt+B,MAAA,GAAAvmB,OAAA,iDAAkE,IAAA1I,IAAO+tF,KAAAltF,EAAAyL,MAAA/D,EAAAe,EAAAiD,OAAA9D,EAAAa,EAAAo3B,KAAA,EAAAE,WAAAt3B,EAAAP,KAAA63B,WAAiE73B,MAAAmoF,OAAA5oF,GAAAtI,EAAA+I,KAAAgX,KAAAzgB,EAAAiJ,EAAA1H,GAAkC+/B,WAAAt3B,EAAAK,EAAA,EAAAJ,EAAA,EAAA+C,MAAA/D,EAAAgE,OAAA9D,IAAsC,GAAAM,KAAAwkD,KAAA,QAAuBuB,SAAA,WAAmBxvD,EAAAoB,UAAA8wF,YAAA,SAAAlpF,GAAqC,GAAAhJ,GAAAyJ,KAAAmoF,OAAA5oF,EAAqB,cAAAS,MAAAmoF,OAAA5oF,GAAAhJ,GAAAyJ,KAAAkoF,UAAA5jF,MAAA/N,EAAAyuF,UAAAhlF,MAAAwkD,KAAA,QAAoFuB,SAAA,WAAiB/lD,KAAAwkD,KAAA,SAAsBt+B,MAAA,GAAAvmB,OAAA,sCAAqDpJ,EAAAoB,UAAA6wD,SAAA,SAAAjpD,EAAAhJ,GAAoC,GAAAyJ,KAAAmoF,OAAA5oF,GAAA,MAAAS,MAAAmoF,OAAA5oF,EAAwC,KAAAS,KAAAu4C,OAAA,MAAA,KAA4B,IAAAj8C,GAAA0D,KAAAu4C,OAAAogC,kBAAAp5E,EAAuC,KAAAjD,EAAAiH,QAAAjH,EAAAkH,OAAA,MAAA,KAAmC,IAAAhE,GAAAQ,KAAAooF,cAAA9rF,EAAAiH,MAAAjH,EAAAkH,OAA2C,KAAAhE,EAAA,MAAA,KAAkB,IAAAE,IAAOslF,KAAAxlF,EAAA+D,MAAAjH,EAAAiH,MAAAjH,EAAAu7B,WAAAr0B,OAAAlH,EAAAkH,OAAAlH,EAAAu7B,WAAAF,IAAAr7B,EAAAq7B,IAAAE,WAAAv7B,EAAAu7B,WAAA73B,KAAA63B,WAAkH,IAAA73B,KAAAmoF,OAAA5oF,GAAAG,GAAAM,KAAAu4C,OAAAigC,QAAA,MAAA,KAAqD,IAAAj4E,GAAA,GAAAioF,aAAAxoF,KAAAu4C,OAAAigC,QAAA9rE,OAAkD,OAAA1M,MAAAgX,KAAAzW,EAAAP,KAAAu4C,OAAAh1C,MAAA/D,EAAAlD,EAAA/F,GAAAmJ,GAA8CnJ,EAAAoB,UAAAu9C,YAAA,SAAA31C,EAAAhJ,GAAuC,GAAA+F,GAAA0D,KAAAwoD,SAAAjpD,EAAAhJ,GAAAiJ,EAAAlD,GAAAA,EAAA0oF,IAAqC,KAAAxlF,EAAA,MAAA,KAAkB,IAAAE,GAAApD,EAAAiH,MAAAjH,EAAAu7B,WAAAt3B,EAAAjE,EAAAkH,OAAAlH,EAAAu7B,UAAuD,QAAO0N,MAAAjpC,EAAAiH,MAAAjH,EAAAkH,QAAA61B,KAAA75B,EAAAoB,EAA9D,GAA8DZ,KAAAuD,OAAA/D,EAAAgB,EAA9D,GAA8DR,KAAAwD,QAAAg2B,KAAAh6B,EAAAoB,EAA9D,EAA8DlB,GAAAM,KAAAuD,OAAA/D,EAAAgB,EAA9D,EAA8DD,GAAAP,KAAAwD,UAAqHjN,EAAAoB,UAAA+wF,SAAA,WAAiC,GAAAnpF,GAAAS,IAAW,KAAAA,KAAA7G,KAAA,CAAe,GAAA5C,GAAA2J,KAAAwN,MAAA1N,KAAAuD,MAAAvD,KAAA63B,YAAAv7B,EAAA4D,KAAAwN,MAAA1N,KAAAwD,OAAAxD,KAAA63B,WAAuF73B,MAAA7G,KAAA,GAAAqvF,aAAAjyF,EAAA+F,EAA+B,KAAA,GAAAkD,GAAA,EAAYA,EAAAQ,KAAA7G,KAAAR,OAAmB6G,IAAAD,EAAApG,KAAAqG,GAAA,IAAiBjJ,EAAAoB,UAAAqf,KAAA,SAAAzX,EAAAhJ,EAAA+F,EAAAkD,EAAAE,GAAsCM,KAAA0oF,UAAgB,IAAAnoF,GAAAP,KAAA7G,IAAoB8uF,YAAA1oF,EAAAhJ,EAAAiJ,EAAAoB,EAAApB,EAAAgB,EAAAD,EAAAP,KAAAuD,MAAAvD,KAAA63B,YAAAv7B,EAAAsE,EAApB,GAAoBZ,KAAA63B,YAAAv7B,EAAAkE,EAApB,GAAoBR,KAAA63B,WAAAr4B,EAAA+D,MAAA/D,EAAAgE,OAAA9D,GAAAM,KAAAy7C,OAAA,GAAsIllD,EAAAoB,UAAA4jD,UAAA,SAAAh8C,GAAmCA,GAAAS,KAAAqkD,SAAArkD,KAAAqkD,OAAA9gD,MAAAvD,KAAAuD,MAAAvD,KAAA63B,WAAA73B,KAAAqkD,OAAA7gD,OAAAxD,KAAAwD,OAAAxD,KAAA63B,YAAA73B,KAAAu4C,OAAAh5C,GAA4HhJ,EAAAoB,UAAAqmF,SAAA,SAAAz+E,EAAAhJ,GAAoC,IAAA,GAAA+F,GAAA0D,KAAAR,EAAA,EAAmBA,EAAAD,EAAA5G,OAAW6G,IAAAlD,EAAAksD,SAAAjpD,EAAAC,GAAqBjJ,GAAA,KAAAyJ,KAAAmoF,SAAoB5xF,EAAAoB,UAAA6b,KAAA,SAAAjU,EAAAhJ,GAAgC,GAAA+F,IAAA,CAAS0D,MAAAwxC,QAAAjyC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,UAAAxxC,KAAAwxC,QAAAjyC,EAAAozC,gBAAApzC,EAAAkzC,YAAAlzC,EAAAmzC,WAAA1yC,KAAAwxC,SAAAjyC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAszC,eAAAtzC,EAAAuzC,eAAAvzC,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAwzC,eAAAxzC,EAAAuzC,eAAAvzC,EAAAopF,YAAAppF,EAAAqpF,gCAAA,GAAAtsF,GAAA,EAAsT,IAAAkD,GAAAjJ,EAAAgJ,EAAA0zC,OAAA1zC,EAAA07C,OAA2Bz7C,KAAAQ,KAAA+S,SAAAxT,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAAyzC,mBAAAxzC,GAAAD,EAAAqzC,cAAArzC,EAAAmzC,WAAAnzC,EAAA2zC,mBAAA1zC,GAAAQ,KAAA+S,OAAAvT,GAAAQ,KAAAy7C,QAAAz7C,KAAA0oF,WAAApsF,EAAAiD,EAAA4zC,WAAA5zC,EAAAmzC,WAAA,EAAAnzC,EAAA6zC,KAAApzC,KAAAuD,MAAAvD,KAAA63B,WAAA73B,KAAAwD,OAAAxD,KAAA63B,WAAA,EAAAt4B,EAAA6zC,KAAA7zC,EAAA8zC,cAAA,GAAAh9B,YAAArW,KAAA7G,KAAAuT,SAAAnN,EAAAw7C,cAAAx7C,EAAAmzC,WAAA,EAAA,EAAA,EAAA1yC,KAAAuD,MAAAvD,KAAA63B,WAAA73B,KAAAwD,OAAAxD,KAAA63B,WAAAt4B,EAAA6zC,KAAA7zC,EAAA8zC,cAAA,GAAAh9B,YAAArW,KAAA7G,KAAAuT,SAAA1M,KAAAy7C,OAAA,IAAiellD,GAAnhIuJ,QAAA,mBAAgiIxJ,QAAAD,QAAAskF,cACnwIruC,kBAAA,IAAA2a,kBAAA,IAAAr2B,eAAA,IAAAq0B,iBAAA,IAAAu/B,qBAAA,IAA2GiD,KAAA,SAAA3nF,QAAAxJ,OAAAD,SAC9G,YAAa,IAAA0yC,eAAAjpC,QAAA,4BAAuDxJ,QAAAD,QAAA,SAAAiG,EAAAkD,EAAAD,EAAAG,GAAiC,GAAAlJ,GAAAgJ,EAAAo1B,eAAA,iBAAAr1B,EAAAG,EAA6C,OAAA,cAAAlJ,EAAA8F,EAAAA,EAAAusF,oBAAA,cAAAryF,IAAA8F,EAAAA,EAAAwsF,qBAAA//C,cAAAgrB,qBAAAz3D,EAAAysC,cAAAgrB,mBAAAz3D,IAAAA,KAC/I+hF,4BAAA,KAA+B0K,KAAA,SAAAjpF,QAAAxJ,OAAAD,SAClC,YAAa,IAAA2yF,KAAAlpF,QAAA,eAAA6c,MAAA7c,QAAA,kBAAAmpF,UAAyE1tF,WAAAuE,QAAA,yBAAAopF,QAAAppF,QAAA,sBAAAqpF,WAAArpF,QAAA,yBAAAspF,QAAAtpF,QAAA,sBAAAupF,SAAAvpF,QAAA,sBAAAwpF,gBAAAxpF,QAAA,2BAAAypF,gBAAAzpF,QAAA,+BAAsTxJ,QAAAD,QAAA,SAAAiG,EAAAiD,GAA6B,QAAAhI,GAAA+E,GAAciE,EAAA,WAAAjE,GAAgB,QAAArF,GAAAsI,GAAcjD,EAAAktF,OAAAl2D,EAAA01D,IAAAS,SAAA3oF,EAAAvB,GAAAgB,EAAA,YAAAhB,GAAAkzB,GAAA,EAAmD,QAAAjzB,GAAAD,GAAc,GAAAhI,GAAA+E,EAAA6sF,YAAA7sF,EAAA6sF,WAAAO,UAA4C7xF,KAAAN,GAAAgJ,EAAA,cAAA1I,GAAAA,EAAA,KAAA46B,GAAA,EAAAlyB,EAAA,UAAAhB,GAAqD,QAAAG,GAAAH,GAAc,KAAAjD,EAAA8sF,SAAA9sF,EAAA8sF,QAAAM,YAAAptF,EAAA6sF,YAAA7sF,EAAA6sF,WAAAO,YAAA,CAA8E,IAAA,GAAAnyF,GAAAgI,EAAAoqF,WAAApqF,EAAAqqF,OAAgCryF,GAAAA,IAAAuJ,GAASvJ,EAAAA,EAAAsyF,UAAgBtyF,KAAAuJ,GAAAP,EAAA,YAAAhB,IAAyB,QAAAE,GAAAF,GAAcjD,EAAAktF,OAAAlqF,EAAA,aAAAC,IAAAA,EAAAuqF,SAAAvqF,EAAAuqF,QAAAnxF,OAAA,IAAAkI,GAAA6d,aAAA7d,GAAAA,EAAA,KAAAN,EAAA,WAAAhB,IAAAsB,EAAA0d,WAAA/nB,EAAA,MAA4H,QAAAD,GAAA+F,GAAcgD,EAAA,YAAAhD,GAAiB,QAAA1F,GAAA0F,GAAcgD,EAAA,WAAAhD,GAAgB,QAAAxF,GAAAwF,GAAcgD,EAAA,cAAAhD,GAAmB,QAAA9F,KAAaqK,EAAA,KAAO,QAAA/I,GAAAwE,GAAc0sF,IAAAS,SAAA3oF,EAAAxE,GAAwBuK,OAAAysB,IAAA/yB,EAAA,QAAAjE,GAA0B,QAAA+D,GAAA/D,GAAciE,EAAA,WAAAjE,GAAAA,EAAAytF,iBAAmC,QAAApzF,GAAA4I,GAAc,GAAAhI,GAAA+E,EAAA6sF,YAAA7sF,EAAA6sF,WAAAO,UAA4Cj3D,IAAAl7B,EAAAk7B,IAAA56B,EAAA0H,GAAAgB,EAAA,cAAAhB,GAAAA,EAAAwqF,iBAAoD,QAAAxpF,GAAAhB,EAAAhI,GAAgB,GAAAN,GAAA+xF,IAAAS,SAAA3oF,EAAAvJ,EAAwB,OAAA+E,GAAAkoD,KAAAjlD,GAAiByqF,OAAA1tF,EAAAwqC,UAAA7vC,GAAAuF,MAAAvF,EAAAgzF,cAAA1yF,IAAgD,QAAA+H,GAAAC,EAAAhI,GAAgB,GAAAN,GAAA+xF,IAAAkB,SAAAppF,EAAAvJ,GAAAiI,EAAAvI,EAAAmc,OAAA,SAAA9W,EAAAiD,EAAAhI,EAAAN,GAAqD,MAAAqF,GAAA2C,IAAAM,EAAA/G,IAAAvB,EAAA0B,UAA8B,GAAAgkB,OAAA,EAAA,GAAiB,OAAArgB,GAAAkoD,KAAAjlD,GAAiByqF,OAAA1tF,EAAAwqC,UAAAtnC,GAAAhD,MAAAgD,EAAA2qF,QAAAlzF,EAAA+D,IAAA,SAAAuE,GAAwD,MAAAjD,GAAAwqC,UAAAvnC,IAAsBS,MAAAiR,OAAAha,EAAAgzF,cAAA1yF,IAAkC,GAAAuJ,GAAAxE,EAAA8tF,qBAAAvyF,EAAA,KAAA46B,GAAA,EAAAa,EAAA,KAAAzyB,EAAA,IAAuD,KAAA,GAAAO,KAAA6nF,UAAA3sF,EAAA8E,GAAA,GAAA6nF,UAAA7nF,GAAA9E,EAAAiD,GAAAA,EAAAvD,aAAAuD,EAAA6B,IAAA9E,EAAA8E,GAAAqrC,OAAAltC,EAAA6B,GAAuFN,GAAAnC,iBAAA,WAAApH,GAAA,GAAAuJ,EAAAnC,iBAAA,YAAA1H,GAAA,GAAA6J,EAAAnC,iBAAA,UAAAa,GAAA,GAAAsB,EAAAnC,iBAAA,YAAAe,GAAA,GAAAoB,EAAAnC,iBAAA,aAAAc,GAAA,GAAAqB,EAAAnC,iBAAA,WAAA/H,GAAA,GAAAkK,EAAAnC,iBAAA,YAAApI,GAAA,GAAAuK,EAAAnC,iBAAA,cAAA7H,GAAA,GAAAgK,EAAAnC,iBAAA,QAAA7G,GAAA,GAAAgJ,EAAAnC,iBAAA,WAAA0B,GAAA,GAAAS,EAAAnC,iBAAA,cAAAhI,GAAA,MACzuD0zF,cAAA,IAAAC,qBAAA,IAAAC,0BAAA,IAAAC,qBAAA,IAAAC,wBAAA,IAAAC,qBAAA,IAAAC,wBAAA,IAAAC,8BAAA,IAAAthE,iBAAA,KAAyOuhE,KAAA,SAAA/qF,QAAAxJ,OAAAD,SAC5O,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAA06D,YAAA16D,QAAA,kCAAA0f,QAAA1f,QAAA,mBAAAqjC,OAAArjC,QAAA,kBAAAjD,aAAAiD,QAAA,yBAAA6c,MAAA7c,QAAA,kBAAAgrF,OAAA,SAAAvrF,GAA+R,QAAAjD,GAAAA,EAAA/F,GAAgBgJ,EAAA7I,KAAAsJ,MAAAA,KAAA+qF,QAAA,EAAA/qF,KAAAoN,UAAA9Q,EAAA0D,KAAAgrF,aAAAz0F,EAAA00F,YAA6E,MAAA1rF,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,EAAA3E,UAAAisC,UAAA,WAA+H,MAAA5jC,MAAAoN,UAAA/R,QAA6BiB,EAAA3E,UAAAk/D,UAAA,SAAAt3D,EAAAjD,GAAqC,MAAA0D,MAAAkrF,QAAoB7vF,OAAAkE,GAASjD,IAAIA,EAAA3E,UAAAwzF,MAAA,SAAA5rF,EAAAjD,EAAA/F,GAAmC,MAAAgJ,GAAAod,MAAA9R,QAAAtL,GAAAyd,MAAA,GAAAhd,KAAAorF,MAAAprF,KAAAoN,UAAA/R,OAAAy0B,KAAA1yB,QAAiFs/B,OAAAn9B,GAASjD,GAAA/F,IAAO+F,EAAA3E,UAAAyzF,MAAA,SAAA7rF,EAAAjD,EAAA/F,GAAmC,MAAAyJ,MAAAqrF,OAAAv7D,KAAA1yB,QAAgC/B,OAAAkE,GAASjD,GAAA/F,IAAO+F,EAAA3E,UAAAm3D,QAAA,WAAgC,MAAA9uD,MAAAoN,UAAA9R,MAA2BgB,EAAA3E,UAAAm/D,QAAA,SAAAv3D,EAAAjD,GAAmC,MAAA0D,MAAAkrF,QAAoB5vF,KAAAiE,GAAOjD,GAAA0D,MAAS1D,EAAA3E,UAAAqrC,OAAA,SAAAzjC,EAAAjD,EAAA/F,GAAoC,MAAAyJ,MAAAqrF,OAAAv7D,KAAA1yB,QAAgC9B,KAAAiE,GAAOjD,GAAA/F,IAAO+F,EAAA3E,UAAA2zF,OAAA,SAAA/rF,EAAAjD,GAAkC,MAAA0D,MAAAgjC,OAAAhjC,KAAA8uD,UAAA,EAAAvvD,EAAAjD,GAAA0D,MAA8C1D,EAAA3E,UAAA4zF,QAAA,SAAAhsF,EAAAjD,GAAmC,MAAA0D,MAAAgjC,OAAAhjC,KAAA8uD,UAAA,EAAAvvD,EAAAjD,GAAA0D,MAA8C1D,EAAA3E,UAAA6zF,WAAA,WAAmC,MAAAxrF,MAAAoN,UAAAwyB,SAA8BtjC,EAAA3E,UAAAo/D,WAAA,SAAAx3D,EAAAjD,GAAsC,MAAA0D,MAAAkrF,QAAoBtrD,QAAArgC,GAAUjD,GAAA0D,MAAS1D,EAAA3E,UAAA8zF,SAAA,SAAAlsF,EAAAjD,EAAA/F,GAAsC,MAAAyJ,MAAAqrF,OAAAv7D,KAAA1yB,QAAgCwiC,QAAArgC,GAAUjD,GAAA/F,IAAO+F,EAAA3E,UAAA+zF,WAAA,SAAAnsF,EAAAjD,GAAsC,MAAA0D,MAAAyrF,SAAA,EAAA37D,KAAA1yB,QAAoCshD,SAAA,KAAan/C,GAAAjD,GAAA0D,MAAY1D,EAAA3E,UAAAg0F,YAAA,SAAApsF,EAAAjD,GAAuC,MAAA4D,MAAAsF,IAAAxF,KAAAwrF,cAAAxrF,KAAAgrF,aAAAhrF,KAAA0rF,WAAAnsF,EAAAjD,GAAA0D,MAA+E1D,EAAA3E,UAAAi0F,SAAA,WAAiC,MAAA5rF,MAAAoN,UAAAo4B,OAA4BlpC,EAAA3E,UAAAq/D,SAAA,SAAAz3D,EAAAjD,GAAoC,MAAA0D,MAAAkrF,QAAoB1lD,MAAAjmC,GAAQjD,GAAA0D,MAAS1D,EAAA3E,UAAA0F,UAAA,SAAAkC,EAAAjD,EAAA/F,GAAuC,GAAsG,iBAAtG+F,EAAAwzB,KAAA1yB,QAAkBE,SAAS8uE,IAAA,EAAAC,OAAA,EAAAH,MAAA,EAAAD,KAAA,GAA8BvvC,QAAA,EAAA,GAAA1wB,QAAAhM,KAAAoN,UAAApB,SAA6C1P,IAAAgB,QAAA,CAAgC,GAAArG,GAAAqF,EAAAgB,OAAgBhB,GAAAgB,SAAW8uE,IAAAn1E,EAAAo1E,OAAAp1E,EAAAi1E,MAAAj1E,EAAAg1E,KAAAh1E,GAA+B,CAAA,GAAA64B,KAAAwtD,UAAApmF,OAAAqY,KAAAjT,EAAAgB,SAAA4K,KAAA,SAAA3I,EAAAjD,GAA6D,MAAAiD,GAAAjD,GAAA,EAAAiD,EAAAjD,EAAA,EAAA,KAAsB,SAAA,OAAA,QAAA,QAAnF,CAAsPiD,EAAA1C,aAAAgO,QAAAtL,EAA0B,IAAAhI,IAAA+E,EAAAgB,QAAA2uE,KAAA3vE,EAAAgB,QAAA4uE,MAAA5vE,EAAAgB,QAAA8uE,IAAA9vE,EAAAgB,QAAA+uE,QAAA7sE,EAAAU,KAAAgK,IAAA5N,EAAAgB,QAAA4uE,MAAA5vE,EAAAgB,QAAA2uE,MAAAvsE,EAAAQ,KAAAgK,IAAA5N,EAAAgB,QAAA8uE,IAAA9vE,EAAAgB,QAAA+uE,OAA4J/vE,GAAAogC,QAAApgC,EAAAogC,OAAA,GAAAnlC,EAAA,GAAA+E,EAAAogC,OAAA,GAAAnlC,EAAA,GAA6C,IAAAO,GAAA6kB,MAAA9R,QAAAvO,EAAAogC,QAAAn8B,EAAAP,KAAAoN,UAAAvV,EAAA0I,EAAAyK,QAAAzL,EAAAwkC,gBAAAtkC,EAAAc,EAAAyK,QAAAzL,EAAA2kC,gBAAAttC,EAAA6I,EAAAqd,IAAAjlB,GAAAyH,GAAAiB,EAAAgD,MAAA,EAAA/D,EAAA,EAAAU,KAAAsF,IAAA1N,EAAA8I,IAAAhK,EAAAgK,EAAAjK,GAAA4J,EAAAiD,OAAA,EAAA9D,EAAA,EAAAQ,KAAAsF,IAAA1N,EAAA0I,IAAA5J,EAAA4J,CAA+L,OAAA7J,GAAA,GAAA2I,EAAA,MAAAwwB,MAAA8H,SAAA,gFAAAt7B,EAAAjB,OAAAkF,EAAAumC,UAAAjvC,EAAAoH,IAAAQ,GAAAjH,IAAA,IAAA8D,EAAAhB,KAAA4E,KAAAgK,IAAA3J,EAAA8lC,UAAA9lC,EAAAsB,MAAA3B,KAAAgK,IAAA5K,EAAA3I,IAAA2F,EAAA0P,SAAA1P,EAAAsjC,QAAA,EAAAtjC,EAAAuvF,OAAA7rF,KAAAqrF,OAAA/uF,EAAA/F,GAAAyJ,KAAAtD,MAAAJ,EAAA/F,IAArkBu5B,KAAA8H,SAAA,wGAAm1Bt7B,EAAA3E,UAAAuzF,OAAA,SAAA3rF,EAAAjD,GAAkC0D,KAAAwpF,MAAY,IAAAjzF,GAAAyJ,KAAAoN,UAAAnW,GAAA,EAAAM,GAAA,EAAAiI,GAAA,CAAoC,OAAA,QAAAD,IAAAhJ,EAAA+E,QAAAiE,EAAAjE,OAAArE,GAAA,EAAAV,EAAA+E,MAAAiE,EAAAjE,MAAA,UAAAiE,KAAAhJ,EAAA8E,OAAA8nC,OAAAt4B,QAAAtL,EAAAlE,SAAA,WAAAkE,IAAAhJ,EAAAqpC,WAAArgC,EAAAqgC,UAAAroC,GAAA,EAAAhB,EAAAqpC,SAAArgC,EAAAqgC,SAAA,SAAArgC,IAAAhJ,EAAAivC,SAAAjmC,EAAAimC,QAAAhmC,GAAA,EAAAjJ,EAAAivC,OAAAjmC,EAAAimC,OAAAxlC,KAAAwkD,KAAA,YAAAloD,GAAAkoD,KAAA,OAAAloD,GAAArF,GAAA+I,KAAAwkD,KAAA,YAAAloD,GAAAkoD,KAAA,OAAAloD,GAAAkoD,KAAA,UAAAloD,GAAA/E,GAAAyI,KAAAwkD,KAAA,SAAAloD,GAAAkD,GAAAQ,KAAAwkD,KAAA,aAAAloD,GAAAkoD,KAAA,QAAAloD,GAAAkoD,KAAA,WAAAloD,GAAA0D,KAAAwkD,KAAA,UAAAloD,IAA6bA,EAAA3E,UAAA0zF,OAAA,SAAA9rF,EAAAjD,GAAkC,GAAA/F,GAAAyJ,IAAWA,MAAAwpF,QAAsE,KAAtEjqF,EAAAuwB,KAAA1yB,QAA2Bs/B,QAAA,EAAA,GAAAgiB,SAAA,IAAAotC,OAAAh8D,KAAAi8D,MAA2CxsF,IAAA6kD,UAAA7kD,EAAAm/C,SAAA,GAAAn/C,EAAAysF,cAAA,IAAAzsF,EAAAm/C,WAAAn/C,EAAAusF,OAAA9rF,KAAAisF,iBAAA1sF,EAAAm/C,UAAgH,IAAAznD,GAAA+I,KAAAoN,UAAA7V,EAAAyI,KAAA8uD,UAAAtvD,EAAAQ,KAAAwrF,aAAA9rF,EAAAM,KAAA4rF,WAAA9zF,EAAA,QAAAyH,IAAAA,EAAAjE,KAAA/D,EAAAgJ,EAAA,WAAAhB,GAAAS,KAAAksF,kBAAA3sF,EAAAqgC,QAAApgC,GAAAA,EAAA3H,EAAA,SAAA0H,IAAAA,EAAAimC,MAAA9lC,EAAAD,EAAAxI,EAAAquC,YAAArmC,IAAA0d,MAAA9R,QAAAtL,EAAAm9B,SAAA9lC,EAAAK,EAAAmwC,cAAA3nC,GAAAH,EAAA6jC,OAAAt4B,QAAAtL,EAAAlE,QAAAzE,EAAkRoJ,MAAAmsF,iBAAA7sF,EAAyB,IAAA3I,GAAAmK,EAAAhK,EAAAG,EAAA+T,QAAApU,GAAAJ,EAAAS,EAAA+T,QAAA1L,GAAAwd,IAAAhmB,GAAAuJ,EAAApJ,EAAA8uC,UAAAjuC,EAAAP,EAAgE,OAAAgI,GAAA6sF,SAAAz1F,EAAAwsC,OAAAt4B,QAAAtL,EAAA6sF,QAAAtrF,EAAA7J,EAAAiwC,cAAAvwC,IAAAqJ,KAAAo5C,QAAAthD,IAAAP,EAAAyI,KAAAm5C,SAAA35C,IAAAe,EAAAP,KAAAqsF,SAAAx0F,IAAA6H,EAAAM,KAAAssF,aAAAhwF,EAAAiD,EAAAgtF,aAAA7tE,aAAA1e,KAAAwsF,YAAAxsF,KAAAysF,MAAA,SAAAltF,GAAsN,GAAAS,KAAAo5C,UAAAniD,EAAAqE,KAAAk/D,YAAAjjE,EAAAO,EAAAyH,IAAAS,KAAAm5C,WAAAliD,EAAA2oC,QAAA46B,YAAAh7D,EAAAe,EAAAhB,IAAAS,KAAAqsF,WAAAp1F,EAAAuuC,MAAAg1B,YAAA96D,EAAA7H,EAAA0H,IAAA5I,EAAAM,EAAA8vC,mBAAApwC,EAAAmK,OAAmK,CAAK,GAAAvK,GAAAU,EAAA8uC,UAAA9uC,EAAAqE,KAAA/D,GAAAX,EAAAkB,EAAAP,EAAA2I,KAAAgK,IAAA,EAAA7J,GAAAH,KAAAyD,IAAA,GAAAtD,GAAAf,EAAAY,KAAA+F,IAAArP,EAAA,EAAA2I,GAAAsB,EAAA5J,EAAA6vC,UAAAhwC,EAAAmI,IAAAzI,EAAAwmB,KAAAzd,EAAAD,IAAA0d,KAAAzmB,GAA2HU,GAAA8vC,mBAAA9vC,EAAAmuC,kBAAAvkC,EAAA4L,OAAA5L,EAAApB,GAAuDO,KAAA0sF,gBAAApwF,IAAwB,WAAYiD,EAAAotF,eAAAp2F,EAAAi2F,WAAAjuE,WAAA,WAAoD,MAAAhoB,GAAAq2F,WAAAtwF,IAAuBiD,EAAAotF,gBAAAp2F,EAAAq2F,WAAAtwF,IAAmCiD,GAAAS,MAAS1D,EAAA3E,UAAA20F,aAAA,SAAA/sF,EAAAjD,GAAwC0D,KAAA+qF,QAAA,EAAAzuF,GAAA0D,KAAAwkD,KAAA,YAAAjlD,GAAAS,KAAAo5C,SAAAp5C,KAAAwkD,KAAA,YAAAjlD,GAAAS,KAAAqsF,UAAArsF,KAAAwkD,KAAA,aAAAjlD,IAA2HjD,EAAA3E,UAAA+0F,gBAAA,SAAAntF,GAAyCS,KAAAwkD,KAAA,OAAAjlD,GAAAS,KAAAo5C,SAAAp5C,KAAAwkD,KAAA,OAAAjlD,GAAAS,KAAAm5C,UAAAn5C,KAAAwkD,KAAA,SAAAjlD,GAAAS,KAAAqsF,UAAArsF,KAAAwkD,KAAA,QAAAjlD,IAA+HjD,EAAA3E,UAAAi1F,WAAA,SAAArtF,GAAoC,GAAAjD,GAAA0D,KAAAo5C,QAAA7iD,EAAAyJ,KAAAqsF,QAAmCrsF,MAAA+qF,QAAA,EAAA/qF,KAAAo5C,SAAA,EAAAp5C,KAAAm5C,UAAA,EAAAn5C,KAAAqsF,UAAA,EAAA/vF,GAAA0D,KAAAwkD,KAAA,UAAAjlD,GAAAhJ,GAAAyJ,KAAAwkD,KAAA,WAAAjlD,GAAAS,KAAAwkD,KAAA,UAAAjlD,IAA6IjD,EAAA3E,UAAA+E,MAAA,SAAA6C,EAAAjD,GAAiC,QAAA/F,GAAAgJ,GAAc,GAAAjD,IAAAgE,EAAAA,EAAAqH,EAAAA,GAAApI,GAAA,EAAA,GAAA+zB,EAAAA,EAAAb,EAAAA,IAAA,GAAAlzB,EAAAe,EAAAqH,GAAA2rB,EAAAb,EAAiD,OAAAvyB,MAAAkL,IAAAlL,KAAA2R,KAAAvV,EAAAA,EAAA,GAAAA,GAAoC,QAAArF,GAAAsI,GAAc,OAAAW,KAAA0R,IAAArS,GAAAW,KAAA0R,KAAArS,IAAA,EAAmC,QAAAhI,GAAAgI,GAAc,OAAAW,KAAA0R,IAAArS,GAAAW,KAAA0R,KAAArS,IAAA,EAAmC,QAAAC,GAAAD,GAAc,MAAAtI,GAAAsI,GAAAhI,EAAAgI,GAAiB,GAAAG,GAAAM,IAAWA,MAAAwpF,OAAAjqF,EAAAuwB,KAAA1yB,QAA2Bs/B,QAAA,EAAA,GAAAmwD,MAAA,IAAAC,MAAA,KAAAhB,OAAAh8D,KAAAi8D,MAAmDxsF,EAAI,IAAAzH,GAAAkI,KAAAoN,UAAA7M,EAAAP,KAAA8uD,UAAAj3D,EAAAmI,KAAAwrF,aAAA/rF,EAAAO,KAAA4rF,WAAAh1F,EAAA,QAAA2I,IAAAA,EAAAjE,KAAAiF,EAAAjB,EAAA,WAAAC,GAAAS,KAAAksF,kBAAA3sF,EAAAqgC,QAAA/nC,GAAAA,EAAAlB,EAAA,SAAA4I,IAAAA,EAAAimC,MAAA/lC,EAAAqB,EAAAhJ,EAAAiuC,UAAAnvC,EAAA2J,GAAAzJ,EAAAgB,EAAAwtC,YAAArmC,IAAA0d,MAAA9R,QAAAtL,EAAAm9B,SAAAlmC,EAAAsB,EAAAsvC,cAAAtwC,GAAAuJ,EAAA8iC,OAAAt4B,QAAAtL,EAAAlE,QAAA7E,EAAqSwJ,MAAAmsF,iBAAA9rF,EAAyB,IAAAQ,GAAA/I,EAAAkT,QAAAxU,GAAAgK,EAAA1I,EAAAkT,QAAA3K,GAAAyc,IAAAjc,GAAAoxB,EAAA1yB,EAAAutF,MAAAnlF,EAAAzH,KAAAyD,IAAA7L,EAAAyL,MAAAzL,EAAA0L,QAAAlD,EAAAqH,EAAA7G,EAAA2xB,EAAAjyB,EAAAmd,KAAgG,IAAA,WAAApe,GAAA,CAAkB,GAAAoO,GAAAmiB,KAAA+V,MAAA3lC,KAAAgK,IAAA3K,EAAAmiB,QAAAnhB,EAAA3J,GAAAkB,EAAA4pB,QAAA5pB,EAAAkU,SAAApL,EAAA+G,EAAA7P,EAAAiuC,UAAAp4B,EAAApN,EAAmF0xB,GAAA/xB,KAAA2R,KAAAjR,EAAA6xB,EAAA,GAAmB,GAAAa,GAAArB,EAAAA,EAAAlxB,EAAAxK,EAAA,GAAAkK,EAAA,SAAAlB,GAA+B,MAAAhI,GAAAwJ,GAAAxJ,EAAAwJ,EAAAkxB,EAAA1yB,IAAqBu0B,EAAA,SAAAv0B,GAAe,MAAAoI,KAAApQ,EAAAwJ,GAAAvB,EAAAuB,EAAAkxB,EAAA1yB,GAAAtI,EAAA8J,IAAAuyB,GAAAb,GAAoCvxB,GAAA3K,EAAA,GAAAwK,GAAAkxB,CAAc,IAAA/xB,KAAAsF,IAAAitB,GAAA,KAAA,CAAqB,GAAAvyB,KAAAsF,IAAAmC,EAAArH,GAAA,KAAA,MAAAN,MAAAqrF,OAAA9rF,EAAAjD,EAA8C,IAAA8E,GAAAd,EAAAqH,GAAA,EAAA,CAAezG,GAAAhB,KAAAsF,IAAAtF,KAAAkL,IAAA9K,EAAAqH,IAAAsqB,EAAA6B,EAAA,WAAyC,MAAA,IAASrzB,EAAA,SAAAlB,GAAe,MAAAW,MAAA0R,IAAAxQ,EAAA6wB,EAAA1yB,IAAwB,GAAA,YAAAA,GAAAA,EAAAm/C,UAAAn/C,EAAAm/C,aAAyC,CAAK,GAAA7qB,GAAA,eAAAt0B,IAAAA,EAAAwtF,YAAA96D,GAAA1yB,EAAAstF,KAAkDttF,GAAAm/C,SAAA,IAAAx9C,EAAA2yB,EAAmB,MAAA7zB,MAAAo5C,SAAA,EAAAp5C,KAAAm5C,SAAAthD,IAAAyH,EAAAU,KAAAqsF,SAAA11F,IAAA8I,EAAAO,KAAAssF,aAAAhwF,GAAA,GAAA0D,KAAAysF,MAAA,SAAAltF,GAA8G,GAAAhJ,GAAAgJ,EAAA2B,EAAAjK,EAAA,EAAAwJ,EAAAlK,EAAmBuB,GAAAwD,KAAAiF,EAAAzI,EAAAuuC,UAAApvC,GAAA+I,KAAAm5C,WAAArhD,EAAA8nC,QAAA46B,YAAA3iE,EAAAyH,EAAAC,IAAAS,KAAAqsF,WAAAv0F,EAAA0tC,MAAAg1B,YAAA/6D,EAAA9I,EAAA4I,GAAkH,IAAAhI,GAAAO,EAAAgvC,UAAAjmC,EAAA5B,IAAAuB,EAAAwc,KAAA8W,EAAAv9B,KAAAymB,KAAA/lB,GAA+Ca,GAAAivC,mBAAAjvC,EAAAstC,kBAAA7tC,EAAAkV,OAAAlV,EAAAT,GAAAkJ,KAAA0sF,gBAAApwF,IAA+E,WAAY,MAAAoD,GAAAktF,WAAAtwF,IAAuBiD,GAAAS,MAAS1D,EAAA3E,UAAAq1F,SAAA,WAAiC,QAAAhtF,KAAAitF,UAAsB3wF,EAAA3E,UAAAu1F,SAAA,WAAiC,MAAAltF,MAAA+qF,QAAmBzuF,EAAA3E,UAAA6xF,KAAA,WAA6B,MAAAxpF,MAAAitF,WAAAjtF,KAAAitF,WAAAjtF,KAAAmtF,eAAAntF,MAAgE1D,EAAA3E,UAAA80F,MAAA,SAAAltF,EAAAjD,EAAA/F,GAAmCyJ,KAAAotF,UAAA9wF,EAAA0D,KAAAitF,SAAAztE,QAAA6tE,MAAA,SAAA/wF,GAAyDiD,EAAA7I,KAAAsJ,KAAAzJ,EAAAu1F,OAAAxvF,IAAA,IAAAA,GAAA0D,KAAAmtF,gBAAmD,IAAA52F,EAAA6tD,QAAA,EAAA7tD,EAAAmoD,SAAA1+C,OAAmC1D,EAAA3E,UAAAw1F,YAAA,iBAAoCntF,MAAAitF,QAAqB,IAAA1tF,GAAAS,KAAAotF,gBAAqBptF,MAAAotF,UAAA7tF,EAAA7I,KAAAsJ,OAAmC1D,EAAA3E,UAAAu0F,kBAAA,SAAA3sF,EAAAjD,GAA6CiD,EAAAuwB,KAAArjB,KAAAlN,GAAA,IAAA,IAAwB,IAAAhJ,GAAA2J,KAAAsF,IAAAjG,EAAAjD,EAAoB,OAAA4D,MAAAsF,IAAAjG,EAAA,IAAAjD,GAAA/F,IAAAgJ,GAAA,KAAAW,KAAAsF,IAAAjG,EAAA,IAAAjD,GAAA/F,IAAAgJ,GAAA,KAAAA,GAAqEjD,EAAA3E,UAAAw0F,iBAAA,SAAA5sF,GAA0C,GAAAjD,GAAA0D,KAAAoN,SAAqB,IAAA9Q,EAAA8oC,oBAAA9oC,EAAAsrC,SAAA,CAAqC,GAAArxC,GAAAgJ,EAAA6jC,IAAA9mC,EAAAjB,OAAA+nC,GAAyB7jC,GAAA6jC,KAAA7sC,EAAA,KAAA,IAAAA,GAAA,IAAA,IAAA,IAAgC+F,EAAA3E,UAAAs0F,iBAAA,SAAA1sF,GAA0C,GAAAjD,GAAAwzB,KAAAi8D,IAAgB,IAAA/rF,KAAAstF,UAAA,CAAmB,GAAA/2F,GAAAyJ,KAAAstF,UAAAr2F,GAAA4qB,KAAAC,MAAAvrB,EAAAg3F,OAAAh3F,EAAAmoD,SAAAnnD,EAAAhB,EAAAu1F,OAAA70F,EAAA,KAAAV,EAAAu1F,OAAA70F,GAAAuI,EAAA,IAAAU,KAAA2R,KAAAta,EAAAA,EAAA,MAAA,IAAAmI,EAAAQ,KAAA2R,KAAA,MAAArS,EAAAA,EAA0IlD,GAAAwzB,KAAA09D,OAAAhuF,EAAAE,EAAA,IAAA,GAAyB,MAAAM,MAAAstF,WAAuBC,OAAA,GAAA1rE,OAAA+sC,UAAAlQ,SAAAn/C,EAAAusF,OAAAxvF,GAA+CA,GAAGA,GAAz8PwD,QAAA,mBAAs9PxJ,QAAAD,QAAAy0F,SACh+PzhC,iBAAA,GAAAkI,wBAAA,GAAAvpB,iCAAA,IAAAsE,kBAAA,IAAA2a,kBAAA,IAAAr2B,eAAA,IAAAtH,iBAAA,KAAuKmkE,KAAA,SAAA3tF,QAAAxJ,OAAAD,SAC1K,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAAyoC,mBAAA,SAAAhpC,GAAiGS,KAAA4L,QAAArM,EAAAuwB,KAAA68B,SAAA,kBAAA,cAAA,kBAAA3sD,MAAsFuoC,oBAAA5wC,UAAA+1F,mBAAA,WAA2D,MAAA,gBAAqBnlD,mBAAA5wC,UAAAotD,MAAA,SAAAxlD,GAAgD,GAAAhJ,GAAAyJ,KAAA4L,SAAA5L,KAAA4L,QAAA+hF,OAAyC,OAAA3tF,MAAA4tF,KAAAruF,EAAAS,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAA,sCAAApL,GAAAyJ,KAAA6tF,WAAA7uF,UAAAC,IAAA,oBAAAe,KAAA8tF,sBAAA9tF,KAAA+tF,kBAAA/tF,KAAA4tF,KAAA/xF,GAAA,aAAAmE,KAAAguF,aAAAhuF,KAAA4tF,KAAA/xF,GAAA,UAAAmE,KAAA+tF,qBAAA,KAAAx3F,IAAAyJ,KAAA4tF,KAAA/xF,GAAA,SAAAmE,KAAAiuF,gBAAAjuF,KAAAiuF,kBAAAjuF,KAAA6tF,YAAyXtlD,mBAAA5wC,UAAAovD,SAAA,WAAkD/mD,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,YAAA7tF,KAAA4tF,KAAA9tE,IAAA,aAAA9f,KAAAguF,aAAAhuF,KAAA4tF,KAAA9tE,IAAA,UAAA9f,KAAA+tF,iBAAA/tF,KAAA4tF,KAAA9tE,IAAA,SAAA9f,KAAAiuF,gBAAAjuF,KAAA4tF,SAAA,IAAgNrlD,mBAAA5wC,UAAAo2F,gBAAA,WAAyD,GAAA/tF,KAAAmuF,YAAAnuF,KAAAmuF,UAAAnuF,KAAA6tF,WAAA1uF,cAAA,0BAAAa,KAAAmuF,UAAA,CAA2G,GAAA5uF,GAAAS,KAAA4tF,KAAAhqD,WAA4B5jC,MAAAmuF,UAAA9oC,KAAA,yCAAA9lD,EAAA6jC,IAAA,IAAA7jC,EAAA8jC,IAAA,IAAAnjC,KAAAyO,MAAA3O,KAAA4tF,KAAA9+B,UAAA,KAAoHvmB,mBAAA5wC,UAAAq2F,YAAA,SAAAzuF,GAAsDA,GAAA,aAAAA,EAAA0mD,iBAAAjmD,KAAA8tF,sBAAA9tF,KAAA+tF,oBAAsFxlD,mBAAA5wC,UAAAm2F,oBAAA,WAA6D,GAAA9tF,KAAA4tF,KAAAxyF,MAAA,CAAoB,GAAAmE,MAAAhJ,EAAAyJ,KAAA4tF,KAAAxyF,MAAA4jD,YAAwC,KAAA,GAAA/nD,KAAAV,GAAA,CAAgB,GAAAgB,GAAAhB,EAAAU,GAAAs/C,WAAuBh/C,GAAA62F,aAAA7uF,EAAA0T,QAAA1b,EAAA62F,aAAA,GAAA7uF,EAAA3E,KAAArD,EAAA62F,aAAiE7uF,EAAA2I,KAAA,SAAA3I,EAAAhJ,GAAqB,MAAAgJ,GAAA5G,OAAApC,EAAAoC,SAAyB4G,EAAAA,EAAAwT,OAAA,SAAAxc,EAAAU,GAA2B,IAAA,GAAAM,GAAAN,EAAA,EAAcM,EAAAgI,EAAA5G,OAAWpB,IAAA,GAAAgI,EAAAhI,GAAA0b,QAAA1c,IAAA,EAAA,OAAA,CAAmC,QAAA,IAASyJ,KAAA6tF,WAAAQ,UAAA9uF,EAAAtB,KAAA,OAAA+B,KAAAmuF,UAAA,OAA+D5lD,mBAAA5wC,UAAAs2F,eAAA,WAAwD,GAAA1uF,GAAAS,KAAA4tF,KAAAxD,qBAAAkE,aAAA,GAAsDtuF,MAAA6tF,WAAA7uF,UAAAO,EAAA,MAAA,UAAA,qBAAgEjJ,OAAAD,QAAAkyC,qBACjgEgmD,iBAAA,IAAApzD,kBAAA,MAA2CqzD,KAAA,SAAA1uF,QAAAxJ,OAAAD,SAC9C,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA1G,OAAA0G,QAAA,qBAAA2oC,kBAAA,WAAmIzoC,KAAAyuF,aAAA,EAAA3+D,KAAA68B,SAAA,qBAAA,eAAA3sD,MAAA,sBAAA5G,QAAAoF,SAAAwB,KAAA0uF,kBAAA,mBAAA,yBAAAt1F,QAAAoF,SAAAwB,KAAA0uF,kBAAA,sBAAA,4BAAAt1F,QAAAoF,SAAAwB,KAAA0uF,kBAAA,yBAAA,wBAAAt1F,QAAAoF,WAAAwB,KAAA0uF,kBAAA,sBAA0ajmD,mBAAA9wC,UAAAotD,MAAA,SAAAzoD,GAA8C,GAAA/E,GAAA,gBAAAf,EAAAwJ,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAApK,EAAA,wBAAAgI,EAAAS,KAAA2uF,kBAAA3F,IAAArnF,OAAA,SAAApK,EAAA,SAAAA,EAAA,cAAAyI,KAAA6tF,WAA4K,OAAAtuF,GAAAb,aAAA,aAAA,qBAAAa,EAAAlG,KAAA,SAAA2G,KAAA2uF,kBAAAhwF,iBAAA,QAAAqB,KAAA4uF,oBAAA5uF,KAAA6uF,cAAAvyF,EAAAwyF,eAAA11F,OAAAoF,SAAAG,iBAAAqB,KAAA0uF,kBAAA1uF,KAAA+uF,aAAAv4F,GAAiQiyC,kBAAA9wC,UAAAovD,SAAA,WAAiD/mD,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,YAAA7tF,KAAA4tF,KAAA,KAAAx0F,OAAAoF,SAAAwwF,oBAAAhvF,KAAA0uF,kBAAA1uF,KAAA+uF,cAAoJtmD,kBAAA9wC,UAAAs3F,cAAA,WAAsD,MAAAjvF,MAAAyuF,aAAwBhmD,kBAAA9wC,UAAAo3F,YAAA,WAAgN,IAA5J31F,OAAAoF,SAAA0wF,mBAAA91F,OAAAoF,SAAA2wF,sBAAA/1F,OAAAoF,SAAA4wF,yBAAAh2F,OAAAoF,SAAA6wF,uBAA4JrvF,KAAA6uF,gBAAA7uF,KAAAyuF,YAAA,CAA8CzuF,KAAAyuF,aAAAzuF,KAAAyuF,WAAmC,IAAAl3F,GAAA,eAAsByI,MAAA2uF,kBAAA3vF,UAAAswF,OAAA/3F,EAAA,WAAAyI,KAAA2uF,kBAAA3vF,UAAAswF,OAAA/3F,EAAA,iBAA+GkxC,kBAAA9wC,UAAAi3F,mBAAA,WAA2D5uF,KAAAivF,gBAAA71F,OAAAoF,SAAA+wF,eAAAn2F,OAAAoF,SAAA+wF,iBAAAn2F,OAAAoF,SAAAgxF,oBAAAp2F,OAAAoF,SAAAgxF,sBAAAp2F,OAAAoF,SAAAixF,iBAAAr2F,OAAAoF,SAAAixF,mBAAAr2F,OAAAoF,SAAAkxF,wBAAAt2F,OAAAoF,SAAAkxF,yBAAA1vF,KAAA6uF,cAAAc,kBAAA3vF,KAAA6uF,cAAAc,oBAAA3vF,KAAA6uF,cAAAe,qBAAA5vF,KAAA6uF,cAAAe,uBAAA5vF,KAAA6uF,cAAAgB,oBAAA7vF,KAAA6uF,cAAAgB,sBAAA7vF,KAAA6uF,cAAAiB,yBAAA9vF,KAAA6uF,cAAAiB,2BAA2nBx5F,OAAAD,QAAAoyC,oBACj4E8lD,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAAmEC,KAAA,SAAAlwF,QAAAxJ,OAAAD,SACtE,YAAa,SAAA45F,yBAAA1wF,OAAoC,KAAA2wF,oBAAA3wF,EAAA2wF,yBAAA,KAAA92F,OAAA+2F,UAAAC,YAAAh3F,OAAA+2F,UAAAC,YAAAtgF,OAA8H/Y,KAAA,gBAAmBs5F,KAAA,SAAAp5F,GAAmBi5F,oBAAA,WAAAj5F,EAAA+xD,MAAAzpD,EAAA2wF,wBAA8DA,sBAAA92F,OAAA+2F,UAAAG,YAAA/wF,EAAA2wF,sBAA8E,GAAyMA,qBAAzMrnD,QAAA/oC,QAAA,sBAAAkpF,IAAAlpF,QAAA,kBAAA1G,OAAA0G,QAAA,qBAAAgwB,KAAAhwB,QAAA,mBAAAywF,2BAAuKC,oBAAA,EAAAC,QAAA,KAAkCnoD,iBAAA,SAAA/oC,GAA4E,QAAAtI,GAAAA,GAAcsI,EAAA7I,KAAAsJ,MAAAA,KAAA4L,QAAA3U,MAA+B64B,KAAA68B,SAAA,aAAA,WAAA,UAAA,YAAA3sD,MAAmE,MAAAT,KAAAtI,EAAAu6B,UAAAjyB,GAAAtI,EAAAU,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAAV,EAAAU,UAAAgrB,YAAA1rB,EAAAA,EAAAU,UAAAotD,MAAA,SAAAxlD,GAA4H,MAAAS,MAAA4tF,KAAAruF,EAAAS,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAA+uF,qCAAAT,wBAAAjwF,KAAA2wF,UAAA3wF,KAAA6tF,YAA6I52F,EAAAU,UAAAovD,SAAA,WAAiC/mD,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,YAAA7tF,KAAA4tF,SAAA,IAAyE32F,EAAAU,UAAAi5F,WAAA,SAAArxF,GAAoCS,KAAA4tF,KAAA1C,QAAkB7vF,QAAAkE,EAAAtH,OAAAK,UAAAiH,EAAAtH,OAAAI,UAAAiD,KAAA,GAAAskC,QAAA,EAAA4F,MAAA,IAAwExlC,KAAAwkD,KAAA,YAAAjlD,GAAAS,KAAA6wF,WAA0C55F,EAAAU,UAAAm5F,SAAA,SAAAvxF,GAAkCS,KAAAwkD,KAAA,QAAAjlD,GAAAS,KAAA6wF,WAAoC55F,EAAAU,UAAAk5F,QAAA,WAAgC7wF,KAAA+wF,YAAAryE,aAAA1e,KAAA+wF,YAAA/wF,KAAA+wF,eAAA,IAAsE95F,EAAAU,UAAAg5F,SAAA,SAAApxF,IAAkC,IAAAA,IAAAS,KAAA6tF,WAAAlvF,iBAAA,cAAA,SAAAY,GAAoE,MAAAA,GAAAwqF,mBAA0B/pF,KAAAgxF,iBAAAhI,IAAArnF,OAAA,SAAA+uF,6CAAA1wF,KAAA6tF,YAAA7tF,KAAAgxF,iBAAA33F,KAAA,SAAA2G,KAAAgxF,iBAAAtyF,aAAA,aAAA,aAAAsB,KAAA4L,QAAAqlF,eAAAjxF,KAAAgxF,iBAAAtyF,aAAA,gBAAA,GAAAsB,KAAAgxF,iBAAAryF,iBAAA,QAAAqB,KAAAkxF,kBAAA19E,KAAAxT,SAA6W/I,EAAAU,UAAAu5F,kBAAA,WAA0C,GAAA3xF,GAAAuwB,KAAA1yB,OAAAmzF,0BAAAvwF,KAAA4L,SAAA5L,KAAA4L,QAAAulF,oBAA4FnxF,MAAA4L,QAAAqlF,kBAAA,KAAAjxF,KAAAoxF,qBAAApxF,KAAAgxF,iBAAAhyF,UAAA+wD,OAAA,qBAAA/vD,KAAAgxF,iBAAAtyF,aAAA,gBAAA,GAAAtF,OAAA+2F,UAAAG,YAAAe,WAAArxF,KAAAoxF,qBAAApxF,KAAAoxF,wBAAA,KAAApxF,KAAAgxF,iBAAAhyF,UAAAC,IAAA,qBAAAe,KAAAgxF,iBAAAtyF,aAAA,gBAAA,GAAAsB,KAAAoxF,oBAAAh4F,OAAA+2F,UAAAG,YAAAW,cAAAjxF,KAAA4wF,WAAA5wF,KAAA8wF,SAAAvxF,KAAAnG,OAAA+2F,UAAAG,YAAAgB,mBAAAtxF,KAAA4wF,WAAA5wF,KAAA8wF,SAAAvxF,GAAAS,KAAA+wF,WAAAxyE,WAAAve,KAAA6wF,QAAA,OAAymB55F,GAAG4xC,QAAUvyC,QAAAD,QAAAiyC,mBACnpFimD,iBAAA,IAAAgD,qBAAA,IAAAp2D,kBAAA,IAAA40D,oBAAA,MAA4FyB,KAAA,SAAA1xF,QAAAxJ,OAAAD,SAC/F,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA2xF,YAAA,WAAyF3hE,KAAA68B,SAAA,eAAA3sD,MAAoCyxF,aAAA95F,UAAAotD,MAAA,SAAA9tD,GAAwC,MAAA+I,MAAA4tF,KAAA32F,EAAA+I,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAA,iBAAA3B,KAAA4tF,KAAA/xF,GAAA,aAAAmE,KAAA0xF,aAAA1xF,KAAA0xF,cAAA1xF,KAAA6tF,YAAoJ4D,YAAA95F,UAAAovD,SAAA,WAA2C/mD,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,YAAA7tF,KAAA4tF,KAAA9tE,IAAA,aAAA9f,KAAA0xF,cAAqGD,YAAA95F,UAAA+1F,mBAAA,WAAqD,MAAA,eAAoB+D,YAAA95F,UAAA+5F,YAAA,SAAAz6F,GAA+C,GAAAA,GAAA,aAAAA,EAAAgvD,eAAA,IAAAjmD,KAAA6tF,WAAA8D,WAAAh5F,QAAAqH,KAAA4xF,gBAAA,CAAiG,GAAAryF,GAAAypF,IAAArnF,OAAA,IAAA,qBAA2CpC,GAAAqqF,OAAA,SAAArqF,EAAA8lD,KAAA,0BAAA9lD,EAAAb,aAAA,aAAA,eAAAsB,KAAA6tF,WAAAlyF,YAAA4D,GAAAS,KAAA4tF,KAAA9tE,IAAA,OAAA9f,KAAA0xF,iBAAoK1xF,MAAA6tF,WAAA8D,WAAAh5F,SAAAqH,KAAA4xF,iBAAA5xF,KAAA+mD,YAA+E0qC,YAAA95F,UAAAi6F,cAAA,WAAgD,GAAA5xF,KAAA4tF,KAAAxyF,MAAA,CAAoB,GAAAnE,GAAA+I,KAAA4tF,KAAAxyF,MAAA4jD,YAAmC,KAAA,GAAAz/C,KAAAtI,GAAuC,GAAvBA,EAAAsI,GAAAg3C,YAAuBs7C,YAAA,OAAA,CAA0B,QAAA,IAAUv7F,OAAAD,QAAAo7F,cAC5nClD,iBAAA,IAAApzD,kBAAA,MAA2C22D,KAAA,SAAAhyF,QAAAxJ,OAAAD,SAC9C,YAAa,SAAA07F,gBAAAxyF,GAA2B,MAAA,IAAAnG,QAAA44F,WAAAzyF,EAAAlG,MAAqC44F,OAAA,EAAAC,QAAA,EAAAC,SAAA,EAAAC,YAAA,EAAAC,OAAA9yF,EAAA8yF,OAAAC,KAAA/yF,EAAA+yF,KAAAC,QAAAhzF,EAAAgzF,QAAAC,QAAAjzF,EAAAizF,QAAAC,QAAAlzF,EAAAkzF,QAAAC,QAAAnzF,EAAAmzF,QAAAC,UAAApzF,EAAAozF,UAAAC,UAAArzF,EAAAqzF,UAAAC,QAAAtzF,EAAAszF,QAAAC,SAAAvzF,EAAAuzF,SAAAC,OAAAxzF,EAAAwzF,OAAAC,QAAAzzF,EAAAyzF,UAAsQ,GAAAhK,KAAAlpF,QAAA,kBAAA1G,OAAA0G,QAAA,qBAAAgwB,KAAAhwB,QAAA,mBAAA4wF,UAAA,gBAAAh1F,kBAAA,WAA6Jo0B,KAAA68B,SAAA,uBAAA3sD,MAA4CtE,mBAAA/D,UAAAs7F,oBAAA,WAA2D,GAAA1zF,GAAA,UAAAS,KAAA4tF,KAAAxgF,UAAAyQ,OAAA,IAAA3d,KAAAgG,IAAA,MAA+DlG,MAAAkzF,cAAA93F,MAAAgS,UAAA7N,GAAqC7D,kBAAA/D,UAAAotD,MAAA,SAAAxlD,GAA+C,MAAAS,MAAA4tF,KAAAruF,EAAAS,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAA+uF,UAAA,IAAAA,UAAA,SAAAnxF,EAAAuvF,gBAAA9uF,KAAA6tF,WAAAlvF,iBAAA,cAAAqB,KAAAmzF,eAAA3/E,KAAAxT,OAAAA,KAAAozF,cAAApzF,KAAAqzF,cAAA3C,UAAA,SAAAA,UAAA,WAAA,UAAAnxF,EAAA+rF,OAAA93E,KAAAjU,IAAAS,KAAAszF,eAAAtzF,KAAAqzF,cAAA3C,UAAA,SAAAA,UAAA,YAAA,WAAAnxF,EAAAgsF,QAAA/3E,KAAAjU,IAAAS,KAAAuzF,SAAAvzF,KAAAqzF,cAAA3C,UAAA,SAAAA,UAAA,WAAA,cAAAnxF,EAAAmsF,WAAAl4E,KAAAjU,IAAAS,KAAAkzF,cAAAlK,IAAArnF,OAAA,OAAA+uF,UAAA,iBAAA1wF,KAAAuzF,UAAAvzF,KAAAuzF,SAAA50F,iBAAA,YAAAqB,KAAAwzF,eAAAhgF,KAAAxT,OAAAA,KAAAyzF,eAAAzzF,KAAAyzF,eAAAjgF,KAAAxT,MAAAA,KAAA0zF,aAAA1zF,KAAA0zF,aAAAlgF,KAAAxT,MAAAA,KAAA4tF,KAAA/xF,GAAA,SAAAmE,KAAAizF,qBAAAjzF,KAAAizF,sBAAAjzF,KAAA6tF,YAAk1BnyF,kBAAA/D,UAAAovD,SAAA,WAAiD/mD,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,YAAA7tF,KAAA4tF,KAAA9tE,IAAA,SAAA9f,KAAAizF,qBAAAjzF,KAAA4tF,SAAA,IAA0HlyF,kBAAA/D,UAAAw7F,eAAA,SAAA5zF,GAAwDA,EAAAwqF,kBAAmBruF,kBAAA/D,UAAA67F,eAAA,SAAAj0F,GAAwD,IAAAA,EAAA0yF,SAAAjJ,IAAA2K,cAAAv6F,OAAAoF,SAAAG,iBAAA,YAAAqB,KAAAyzF,gBAAAr6F,OAAAoF,SAAAG,iBAAA,UAAAqB,KAAA0zF,cAAA1zF,KAAA4tF,KAAAxD,qBAAAwJ,cAAA7B,eAAAxyF,IAAAA,EAAAs0F,oBAAsPn4F,kBAAA/D,UAAA87F,eAAA,SAAAl0F,GAAwD,IAAAA,EAAA0yF,SAAAjyF,KAAA4tF,KAAAxD,qBAAAwJ,cAAA7B,eAAAxyF,IAAAA,EAAAs0F,oBAAoGn4F,kBAAA/D,UAAA+7F,aAAA,SAAAn0F,GAAsD,IAAAA,EAAA0yF,SAAA74F,OAAAoF,SAAAwwF,oBAAA,YAAAhvF,KAAAyzF,gBAAAr6F,OAAAoF,SAAAwwF,oBAAA,UAAAhvF,KAAA0zF,cAAA1K,IAAA8K,aAAA9zF,KAAA4tF,KAAAxD,qBAAAwJ,cAAA7B,eAAAxyF,IAAAA,EAAAs0F,oBAA2Pn4F,kBAAA/D,UAAA07F,cAAA,SAAA9zF,EAAAtI,EAAAqF,GAA2D,GAAA/E,GAAAyxF,IAAArnF,OAAA,SAAApC,EAAAS,KAAA6tF,WAA6C,OAAAt2F,GAAA8B,KAAA,SAAA9B,EAAAmH,aAAA,aAAAzH,GAAAM,EAAAoH,iBAAA,QAAA,WAA4FrC,MAAI/E,GAAIjB,OAAAD,QAAAqF,oBACtvF6yF,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAAmEgE,KAAA,SAAAj0F,QAAAxJ,OAAAD,SACtE,YAAa,SAAA29F,aAAAz0F,EAAAjD,EAAArF,GAA4B,GAAAM,GAAAN,GAAAA,EAAAg9F,UAAA,IAAA19F,EAAAgJ,EAAAsuF,WAAAqG,aAAA,EAAAx0F,EAAAy0F,YAAA50F,EAAAunC,WAAA,EAAAvwC,IAAAgJ,EAAAunC,WAAAvvC,EAAAhB,IAA4G,IAAAU,GAAA,aAAAA,EAAAqmB,KAAA,CAA2B,GAAA9d,GAAA,OAAAE,CAAeF,GAAA,KAAwB40F,SAAA93F,EAAA/E,EAAbiI,EAAA,KAAa,MAAqB40F,SAAA93F,EAAA/E,EAAAiI,EAAA,UAA0B40F,UAAA93F,EAAA/E,EAAAmI,EAAA,KAAyB,QAAA00F,UAAA70F,EAAAjD,EAAArF,EAAAM,GAA2B,GAAAhB,GAAA89F,YAAAp9F,GAAAyI,EAAAnJ,EAAAU,CAA2B,OAAAM,GAAAhB,GAAA,MAAAA,GAAA,IAAAgB,EAAA,MAAAgI,EAAAnE,MAAAmI,MAAAjH,EAAAoD,EAAA,KAAAH,EAAA8uF,UAAA93F,EAAAgB,EAAwE,QAAA48F,aAAA50F,EAAAjD,GAA0B,GAAA/E,GAAA2I,KAAAgG,GAAA,IAAA3P,EAAAgJ,EAAA8jC,IAAA9rC,EAAAmI,EAAApD,EAAA+mC,IAAA9rC,EAAAiI,EAAAU,KAAAC,IAAA5J,GAAA2J,KAAAC,IAAAT,GAAAQ,KAAAE,IAAA7J,GAAA2J,KAAAE,IAAAV,GAAAQ,KAAAE,KAAA9D,EAAA8mC,IAAA7jC,EAAA6jC,KAAA7rC,EAAwJ,OAAxJ,QAAA2I,KAAAo0F,KAAAp0F,KAAAgK,IAAA1K,EAAA,IAAiK,QAAA60F,aAAA90F,GAAwB,GAAAjD,GAAA4D,KAAA+F,IAAA,IAAA,GAAA/F,KAAAwN,MAAAnO,IAAA5G,OAAA,GAAA1B,EAAAsI,EAAAjD,CAAqD,OAAArF,GAAAA,GAAA,GAAA,GAAAA,GAAA,EAAA,EAAAA,GAAA,EAAA,EAAAA,GAAA,EAAA,EAAA,EAAAqF,EAAArF,EAA6C,GAAA+xF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA0oC,aAAA,SAAAjpC,GAA2FS,KAAA4L,QAAArM,EAAAuwB,KAAA68B,SAAA,WAAA3sD,MAA+CwoC,cAAA7wC,UAAA+1F,mBAAA,WAAqD,MAAA,eAAoBllD,aAAA7wC,UAAA48F,QAAA,WAA2CP,YAAAh0F,KAAA4tF,KAAA5tF,KAAA6tF,WAAA7tF,KAAA4L,UAAoD48B,aAAA7wC,UAAAotD,MAAA,SAAAxlD,GAA0C,MAAAS,MAAA4tF,KAAAruF,EAAAS,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAA,oCAAApC,EAAAuvF,gBAAA9uF,KAAA4tF,KAAA/xF,GAAA,OAAAmE,KAAAu0F,SAAAv0F,KAAAu0F,UAAAv0F,KAAA6tF,YAA2KrlD,aAAA7wC,UAAAovD,SAAA,WAA4C/mD,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,YAAA7tF,KAAA4tF,KAAA9tE,IAAA,OAAA9f,KAAAu0F,SAAAv0F,KAAA4tF,SAAA,IAA4Gt3F,OAAAD,QAAAmyC,eAC92C+lD,iBAAA,IAAApzD,kBAAA,MAA2Cq5D,KAAA,SAAA10F,QAAAxJ,OAAAD,SAC9C,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAjD,aAAAiD,QAAA,4BAAAgwB,KAAAhwB,QAAA,mBAAA1G,OAAA0G,QAAA,qBAAA20F,eAAA,SAAAx9F,GAAkL+I,KAAA4tF,KAAA32F,EAAA+I,KAAA00F,IAAAz9F,EAAAmzF,qBAAApqF,KAAA6tF,WAAA52F,EAAA63F,eAAAh/D,KAAA68B,SAAA,eAAA,eAAA,aAAA,cAAA3sD,MAA2Jy0F,gBAAA98F,UAAAg9F,UAAA,WAA8C,QAAA30F,KAAA40F,UAAsBH,eAAA98F,UAAA+xF,SAAA,WAA8C,QAAA1pF,KAAA60F,SAAqBJ,eAAA98F,UAAA80C,OAAA,WAA4CzsC,KAAA20F,cAAA30F,KAAA4tF,KAAAxE,SAAAppF,KAAA4tF,KAAAxE,QAAA5tF,UAAAwE,KAAA00F,IAAA/1F,iBAAA,YAAAqB,KAAA80F,cAAA,GAAA90F,KAAA4tF,KAAAxE,SAAAppF,KAAA4tF,KAAAxE,QAAA38C,SAAAzsC,KAAA40F,UAAA,IAA8LH,eAAA98F,UAAA6D,QAAA,WAA6CwE,KAAA20F,cAAA30F,KAAA00F,IAAA1F,oBAAA,YAAAhvF,KAAA80F,cAAA90F,KAAA40F,UAAA,IAAiGH,eAAA98F,UAAAm9F,aAAA,SAAA79F,GAAmDA,EAAA67F,UAAA,IAAA77F,EAAAg7F,SAAA74F,OAAAoF,SAAAG,iBAAA,YAAAqB,KAAA+0F,cAAA,GAAA37F,OAAAoF,SAAAG,iBAAA,UAAAqB,KAAAg1F,YAAA,GAAA57F,OAAAoF,SAAAG,iBAAA,UAAAqB,KAAAi1F,YAAA,GAAAjM,IAAA2K,cAAA3zF,KAAAk1F,UAAAlM,IAAAS,SAAAzpF,KAAA00F,IAAAz9F,GAAA+I,KAAA60F,SAAA,IAAuSJ,eAAA98F,UAAAo9F,aAAA,SAAA99F,GAAmD,GAAAqF,GAAA0D,KAAAk1F,UAAA31F,EAAAypF,IAAAS,SAAAzpF,KAAA00F,IAAAz9F,EAAgD+I,MAAAm1F,OAAAn1F,KAAAm1F,KAAAnM,IAAArnF,OAAA,MAAA,mBAAA3B,KAAA6tF,YAAA7tF,KAAA6tF,WAAA7uF,UAAAC,IAAA,sBAAAe,KAAAo1F,WAAA,eAAAn+F,GAAkK,IAAAM,GAAA2I,KAAAgK,IAAA5N,EAAAsE,EAAArB,EAAAqB,GAAArK,EAAA2J,KAAAyD,IAAArH,EAAAsE,EAAArB,EAAAqB,GAAA9I,EAAAoI,KAAAgK,IAAA5N,EAAAkE,EAAAjB,EAAAiB,GAAAd,EAAAQ,KAAAyD,IAAArH,EAAAkE,EAAAjB,EAAAiB,EAAoFwoF,KAAAqM,aAAAr1F,KAAAm1F,KAAA,aAAA59F,EAAA,MAAAO,EAAA,OAAAkI,KAAAm1F,KAAA/5F,MAAAmI,MAAAhN,EAAAgB,EAAA,KAAAyI,KAAAm1F,KAAA/5F,MAAAoI,OAAA9D,EAAA5H,EAAA,MAAwH28F,eAAA98F,UAAAs9F,WAAA,SAAAh+F,GAAiD,GAAA,IAAAA,EAAAg7F,OAAA,CAAiB,GAAA31F,GAAA0D,KAAAk1F,UAAA31F,EAAAypF,IAAAS,SAAAzpF,KAAA00F,IAAAz9F,GAAAM,GAAA,GAAAsF,eAAAO,OAAA4C,KAAA4tF,KAAA9mD,UAAAxqC,IAAAc,OAAA4C,KAAA4tF,KAAA9mD,UAAAvnC,GAAmIS,MAAA6wF,UAAAv0F,EAAAsE,IAAArB,EAAAqB,GAAAtE,EAAAkE,IAAAjB,EAAAiB,EAAAR,KAAAo1F,WAAA,gBAAAn+F,GAAA+I,KAAA4tF,KAAAvwF,UAAA9F,GAA8Fs0F,QAAA,IAAUrnC,KAAA,cAAqBylC,cAAAhzF,EAAAq+F,cAAA/9F,MAAmCk9F,eAAA98F,UAAAq9F,WAAA,SAAA/9F,GAAiD,KAAAA,EAAAs+F,UAAAv1F,KAAA6wF,UAAA7wF,KAAAo1F,WAAA,gBAAAn+F,KAAoEw9F,eAAA98F,UAAAk5F,QAAA,WAA6C7wF,KAAA60F,SAAA,EAAAz7F,OAAAoF,SAAAwwF,oBAAA,YAAAhvF,KAAA+0F,cAAA,GAAA37F,OAAAoF,SAAAwwF,oBAAA,UAAAhvF,KAAAg1F,YAAA,GAAA57F,OAAAoF,SAAAwwF,oBAAA,UAAAhvF,KAAAi1F,YAAA,GAAAj1F,KAAA6tF,WAAA7uF,UAAA+wD,OAAA,sBAAA/vD,KAAAm1F,OAAAn1F,KAAAm1F,KAAAtL,WAAAqE,YAAAluF,KAAAm1F,MAAAn1F,KAAAm1F,KAAA,MAAAnM,IAAA8K,cAA0WW,eAAA98F,UAAAy9F,WAAA,SAAAn+F,EAAAqF,GAAmD,MAAA0D,MAAA4tF,KAAAppC,KAAAvtD,GAAyBgzF,cAAA3tF,KAAkBhG,OAAAD,QAAAo+F,iBAChlFe,2BAAA,GAAAjH,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAAiGrI,KAAA,SAAA5nF,QAAAxJ,OAAAD,SACpG,YAAa,IAAAo/F,wBAAA,SAAAx+F,GAAuC+I,KAAA4tF,KAAA32F,EAAA+I,KAAA01F,YAAA11F,KAAA01F,YAAAliF,KAAAxT,MAA0Dy1F,wBAAA99F,UAAAg9F,UAAA,WAAsD,QAAA30F,KAAA40F,UAAsBa,uBAAA99F,UAAA80C,OAAA,WAAoDzsC,KAAA20F,cAAA30F,KAAA4tF,KAAA/xF,GAAA,WAAAmE,KAAA01F,aAAA11F,KAAA40F,UAAA,IAA+Ea,uBAAA99F,UAAA6D,QAAA,WAAqDwE,KAAA20F,cAAA30F,KAAA4tF,KAAA9tE,IAAA,WAAA9f,KAAA01F,aAAA11F,KAAA40F,UAAA,IAAgFa,uBAAA99F,UAAA+9F,YAAA,SAAAz+F,GAA0D+I,KAAA4tF,KAAA5qD,OAAAhjC,KAAA4tF,KAAA9+B,WAAA73D,EAAAgzF,cAAA6I,UAAA,EAAA,IAAsE1G,OAAAn1F,EAAA+yF,QAAgB/yF,IAAIX,OAAAD,QAAAo/F,4BACllBE,KAAA,SAAA71F,QAAAxJ,OAAAD,SACJ,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA1G,OAAA0G,QAAA,qBAAA81F,cAAA9lE,KAAA09D,OAAA,EAAA,EAAA,GAAA,GAAAqI,eAAA,SAAAt2F,GAAqPS,KAAA4tF,KAAAruF,EAAAS,KAAA00F,IAAAn1F,EAAA6qF,qBAAAt6D,KAAA68B,SAAA,UAAA,UAAA,QAAA,cAAA,cAAA3sD,MAAyH61F,gBAAAl+F,UAAAg9F,UAAA,WAA8C,QAAA30F,KAAA40F,UAAsBiB,eAAAl+F,UAAA+xF,SAAA,WAA8C,QAAA1pF,KAAA60F,SAAqBgB,eAAAl+F,UAAA80C,OAAA,WAA4CzsC,KAAA20F,cAAA30F,KAAA00F,IAAA11F,UAAAC,IAAA,2BAAAe,KAAA00F,IAAA/1F,iBAAA,YAAAqB,KAAA81F,SAAA91F,KAAA00F,IAAA/1F,iBAAA,aAAAqB,KAAA81F,SAAA91F,KAAA40F,UAAA,IAAgMiB,eAAAl+F,UAAA6D,QAAA,WAA6CwE,KAAA20F,cAAA30F,KAAA00F,IAAA11F,UAAA+wD,OAAA,2BAAA/vD,KAAA00F,IAAA1F,oBAAA,YAAAhvF,KAAA81F,SAAA91F,KAAA00F,IAAA1F,oBAAA,aAAAhvF,KAAA81F,SAAA91F,KAAA40F,UAAA,IAAyMiB,eAAAl+F,UAAAm+F,QAAA,SAAAv2F,GAA8CS,KAAA+1F,aAAAx2F,IAAAS,KAAA0pF,aAAAnqF,EAAAuqF,SAAA1wF,OAAAoF,SAAAG,iBAAA,YAAAqB,KAAAu0F,SAAAn7F,OAAAoF,SAAAG,iBAAA,WAAAqB,KAAAg2F,eAAA58F,OAAAoF,SAAAG,iBAAA,YAAAqB,KAAAu0F,SAAAn7F,OAAAoF,SAAAG,iBAAA,UAAAqB,KAAAi1F,aAAA77F,OAAAuF,iBAAA,OAAAqB,KAAAi1F,YAAAj1F,KAAA60F,SAAA,EAAA70F,KAAAk1F,UAAAl1F,KAAAi2F,KAAAjN,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,GAAAS,KAAAk2F,WAAAr0E,KAAAC,MAAA9hB,KAAAi2F,SAAgcJ,eAAAl+F,UAAA48F,QAAA,SAAAh1F,GAA8C,IAAAS,KAAA+1F,aAAAx2F,GAAA,CAA0BS,KAAA0pF,aAAA1pF,KAAA60F,SAAA,EAAA70F,KAAA4tF,KAAA7C,QAAA,EAAA/qF,KAAAo1F,WAAA,YAAA71F,GAAAS,KAAAo1F,WAAA,YAAA71F,GAAqH,IAAAjD,GAAA0sF,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,GAAAhI,EAAAyI,KAAA4tF,IAA2Cr2F,GAAAiyF,OAAAxpF,KAAAm2F,sBAAAn2F,KAAAk2F,SAAAt7F,MAAAinB,KAAAC,MAAAxlB,IAAA/E,EAAA6V,UAAA25B,mBAAAxvC,EAAA6V,UAAAg6B,cAAApnC,KAAAi2F,MAAA35F,GAAA0D,KAAAo1F,WAAA,OAAA71F,GAAAS,KAAAo1F,WAAA,OAAA71F,GAAAS,KAAAi2F,KAAA35F,EAAAiD,EAAAwqF,mBAAkO8L,eAAAl+F,UAAAy+F,MAAA,SAAA72F,GAA4C,GAAAjD,GAAA0D,IAAW,IAAAA,KAAA0pF,WAAA,CAAoB1pF,KAAA60F,SAAA,EAAA70F,KAAAo1F,WAAA,UAAA71F,GAAAS,KAAAm2F,qBAAwE,IAAA5+F,GAAA,WAAiB+E,EAAAsxF,KAAA7C,QAAA,EAAAzuF,EAAA84F,WAAA,UAAA71F,IAA2ChJ,EAAAyJ,KAAAk2F,QAAiB,IAAA3/F,EAAAoC,OAAA,EAAA,WAAApB,IAA8B,IAAAN,GAAAV,EAAAA,EAAAoC,OAAA,GAAA6G,EAAAjJ,EAAA,GAAAmJ,EAAAzI,EAAA,GAAA6lB,IAAAtd,EAAA,IAAA1H,GAAAb,EAAA,GAAAuI,EAAA,IAAA,GAA8D,IAAA,IAAA1H,GAAAb,EAAA,GAAA4P,OAAArH,EAAA,IAAA,WAAAjI,IAA4C,IAAAkI,GAAAC,EAAAsd,KAAvvE,GAAuvEllB,GAAAhB,EAAA2I,EAAAke,KAA2C7mB,GAAlyE,OAAkyEA,EAAlyE,KAAkyE2I,EAAA8d,QAAAN,MAAAnmB,GAA0D,IAAAyJ,GAAAzJ,EAAA,IAAAuJ,EAAAZ,EAAAud,MAAAzc,EAAA,EAA8DP,MAAA4tF,KAAAzC,MAAA9qF,GAAmBq+C,SAAA,IAAAn+C,EAAAurF,OAAA8J,cAAArJ,aAAA,IAAqDtC,cAAA1qF,MAAmBs2F,eAAAl+F,UAAAs9F,WAAA,SAAA11F,GAAiDS,KAAA+1F,aAAAx2F,KAAAS,KAAAo2F,MAAA72F,GAAAnG,OAAAoF,SAAAwwF,oBAAA,YAAAhvF,KAAAu0F,SAAAn7F,OAAAoF,SAAAwwF,oBAAA,UAAAhvF,KAAAi1F,YAAA77F,OAAA41F,oBAAA,OAAAhvF,KAAAi1F,cAAsNY,eAAAl+F,UAAAq+F,YAAA,SAAAz2F,GAAkDS,KAAA+1F,aAAAx2F,KAAAS,KAAAo2F,MAAA72F,GAAAnG,OAAAoF,SAAAwwF,oBAAA,YAAAhvF,KAAAu0F,SAAAn7F,OAAAoF,SAAAwwF,oBAAA,WAAAhvF,KAAAg2F,eAAqKH,eAAAl+F,UAAAy9F,WAAA,SAAA71F,EAAAjD,GAAmD,MAAA0D,MAAA4tF,KAAAppC,KAAAjlD,GAAyB0qF,cAAA3tF,KAAkBu5F,eAAAl+F,UAAAo+F,aAAA,SAAAx2F,GAAmD,GAAAjD,GAAA0D,KAAA4tF,IAAgB,IAAAtxF,EAAA4sF,SAAA5sF,EAAA4sF,QAAAQ,WAAA,OAAA,CAA4C,IAAAptF,EAAA6sF,YAAA7sF,EAAA6sF,WAAAO,WAAA,OAAA,CAAkD,IAAAnqF,EAAAuqF,QAAA,MAAAvqF,GAAAuqF,QAAAnxF,OAAA,CAAuC,IAAA4G,EAAAszF,QAAA,OAAA,CAAkC,OAAA,cAAAtzF,EAAAlG,MAAA,EAAAkG,EAAA2yF,QAAA3yF,EAAA0yF,QAAZ,IAAY1yF,EAAA0yF,QAAkE4D,eAAAl+F,UAAAw+F,oBAAA,WAAyD,IAAA,GAAA52F,GAAAS,KAAAk2F,SAAA55F,EAAAulB,KAAAC,MAA2CviB,EAAA5G,OAAA,GAAA2D,EAAAiD,EAAA,GAAA,GAA3C,KAAmEA,EAAAkjF,SAAWnsF,OAAAD,QAAAw/F,iBAC9+GtH,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAAmEsG,KAAA,SAAAv2F,QAAAxJ,OAAAD,SACtE,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA1G,OAAA0G,QAAA,qBAAA81F,cAAA9lE,KAAA09D,OAAA,EAAA,EAAA,IAAA,GAAA8I,kBAAA,SAAA/2F,EAAAjD,GAAyP0D,KAAA4tF,KAAAruF,EAAAS,KAAA00F,IAAAn1F,EAAA6qF,qBAAApqF,KAAAgrF,aAAA1uF,EAAA2uF,YAAAjrF,KAAAu2F,kBAAA,IAAAj6F,EAAAk6F,gBAAA1mE,KAAA68B,SAAA,UAAA,UAAA,SAAA3sD,MAA2Ks2F,mBAAA3+F,UAAAg9F,UAAA,WAAiD,QAAA30F,KAAA40F,UAAsB0B,kBAAA3+F,UAAA+xF,SAAA,WAAiD,QAAA1pF,KAAA60F,SAAqByB,kBAAA3+F,UAAA80C,OAAA,WAA+CzsC,KAAA20F,cAAA30F,KAAA00F,IAAA/1F,iBAAA,YAAAqB,KAAA81F,SAAA91F,KAAA40F,UAAA,IAAyF0B,kBAAA3+F,UAAA6D,QAAA,WAAgDwE,KAAA20F,cAAA30F,KAAA00F,IAAA1F,oBAAA,YAAAhvF,KAAA81F,SAAA91F,KAAA40F,UAAA,IAA4F0B,kBAAA3+F,UAAAm+F,QAAA,SAAAv2F,GAAiDS,KAAA+1F,aAAAx2F,IAAAS,KAAA0pF,aAAAtwF,OAAAoF,SAAAG,iBAAA,YAAAqB,KAAAu0F,SAAAn7F,OAAAoF,SAAAG,iBAAA,UAAAqB,KAAAo2F,OAAAh9F,OAAAuF,iBAAA,OAAAqB,KAAAo2F,OAAAp2F,KAAA60F,SAAA,EAAA70F,KAAAk2F,WAAAr0E,KAAAC,MAAA9hB,KAAA4tF,KAAApC,eAAAxrF,KAAAk1F,UAAAl1F,KAAAi2F,KAAAjN,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,GAAAS,KAAA+kC,QAAA/kC,KAAA4tF,KAAAxgF,UAAAk4B,YAAA/lC,EAAAwqF,mBAA4XuM,kBAAA3+F,UAAA48F,QAAA,SAAAh1F,GAAiD,IAAAS,KAAA+1F,aAAAx2F,GAAA,CAA0BS,KAAA0pF,aAAA1pF,KAAA60F,SAAA,EAAA70F,KAAA4tF,KAAA7C,QAAA,EAAA/qF,KAAAo1F,WAAA,cAAA71F,GAAAS,KAAAo1F,WAAA,YAAA71F,GAAAS,KAAAu2F,kBAAAv2F,KAAAo1F,WAAA,aAAA71F,GAA8K,IAAAjD,GAAA0D,KAAA4tF,IAAgBtxF,GAAAktF,MAAS,IAAAjzF,GAAAyJ,KAAAi2F,KAAA1+F,EAAAyxF,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,GAAAC,EAAA,IAAAjJ,EAAAqK,EAAArJ,EAAAqJ,GAAAlB,GAAA,IAAAnJ,EAAAiK,EAAAjJ,EAAAiJ,GAAAvJ,EAAAqF,EAAAkvF,aAAAhsF,EAAA1H,EAAAwE,EAAAsvF,WAAAlsF,EAAAa,EAAAP,KAAAk2F,SAAAjkE,EAAA1xB,EAAAA,EAAA5H,OAAA,EAA8IqH,MAAAm2F,sBAAA51F,EAAA3F,MAAAinB,KAAAC,MAAAxlB,EAAA4vF,kBAAAj1F,EAAAg7B,EAAA,MAAA31B,EAAA8Q,UAAAwyB,QAAA3oC,EAAA+I,KAAAu2F,mBAAAv2F,KAAAo1F,WAAA,QAAA71F,GAAAjD,EAAA8Q,UAAAo4B,MAAA1tC,GAAAkI,KAAAo1F,WAAA,SAAA71F,GAAAS,KAAAo1F,WAAA,OAAA71F,GAAAS,KAAAi2F,KAAA1+F,IAA6O++F,kBAAA3+F,UAAAy+F,MAAA,SAAA72F,GAA+C,GAAAjD,GAAA0D,IAAW,KAAAA,KAAA+1F,aAAAx2F,KAAAnG,OAAAoF,SAAAwwF,oBAAA,YAAAhvF,KAAAu0F,SAAAn7F,OAAAoF,SAAAwwF,oBAAA,UAAAhvF,KAAAo2F,OAAAh9F,OAAA41F,oBAAA,OAAAhvF,KAAAo2F,OAAAp2F,KAAA0pF,YAAA,CAAmN1pF,KAAA60F,SAAA,EAAA70F,KAAAo1F,WAAA,YAAA71F,GAAAS,KAAAm2F,qBAA0E,IAAA5/F,GAAAyJ,KAAA4tF,KAAAr2F,EAAAhB,EAAAi1F,aAAAhsF,EAAAQ,KAAAk2F,SAAAx2F,EAAA,WAA8DQ,KAAAsF,IAAAjO,GAAA+E,EAAA0uF,aAAAz0F,EAAAm1F,YAAyCa,aAAA,IAAiBtC,cAAA1qF,KAAgBjD,EAAAsxF,KAAA7C,QAAA,EAAAzuF,EAAA84F,WAAA,UAAA71F,IAAAjD,EAAAi6F,kBAAAj6F,EAAA84F,WAAA,WAAA71F,GAA+F,IAAAC,EAAA7G,OAAA,EAAA,WAAA+G,IAA8B,IAAAzI,GAAAuI,EAAA,GAAA1H,EAAA0H,EAAAA,EAAA7G,OAAA,GAAA4H,EAAAf,EAAAA,EAAA7G,OAAA,GAAAs5B,EAAA17B,EAAA21F,kBAAA30F,EAAAgJ,EAAA,IAAAF,EAAAvI,EAAA,GAAAb,EAAA,GAAAY,EAAAwI,EAAA,GAAA,EAAA,EAAAvJ,GAAAgB,EAAA,GAAAb,EAAA,IAAA,GAAkH,IAAA,IAAAoJ,GAAA,IAAAvJ,EAAA,WAAA4I,IAAgC,IAAAD,GAAAS,KAAAsF,IAAAnF,GAA7mF,IAA6mFvJ,GAAuC2I,GAAppF,MAAopFA,EAAppF,IAA2rF,IAAAjJ,GAAAiJ,EAAA,GAA2DwyB,IAA3Dp6B,EAAA4H,GAAAjJ,EAAA,GAA2D0J,KAAAsF,IAAAjP,EAAA21F,kBAAAj6D,EAAA,IAAAjyB,KAAAgrF,eAAA/4D,EAAA17B,EAAA21F,kBAAA,EAAAj6D,IAAA17B,EAAAk1F,SAAAx5D,GAAsGysB,SAAA,IAAAloD,EAAAs1F,OAAA8J,cAAArJ,aAAA,IAAqDtC,cAAA1qF,MAAmB+2F,kBAAA3+F,UAAAy9F,WAAA,SAAA71F,EAAAjD,GAAsD,MAAA0D,MAAA4tF,KAAAppC,KAAAjlD,GAAyB0qF,cAAA3tF,KAAkBg6F,kBAAA3+F,UAAAo+F,aAAA,SAAAx2F,GAAsD,GAAAjD,GAAA0D,KAAA4tF,IAAgB,IAAAtxF,EAAA4sF,SAAA5sF,EAAA4sF,QAAAQ,WAAA,OAAA,CAA4C,IAAAptF,EAAA8sF,SAAA9sF,EAAA8sF,QAAAM,WAAA,OAAA,CAA4C,IAAAnqF,EAAAuqF,QAAA,MAAAvqF,GAAAuqF,QAAAnxF,OAAA,CAAuC,IAAApC,GAAAgJ,EAAAszF,QAAA,EAAA,EAAAt7F,EAAAgI,EAAAszF,QAAA,EAAA,EAAArzF,EAAAD,EAAA0yF,MAA+C,OAAA,mBAAAwE,iBAAA,IAAAl3F,EAAA0yF,QAAA1yF,EAAAszF,SAAAz5F,OAAA+2F,UAAAuG,SAAA14F,cAAAiV,QAAA,QAAA,IAAAzT,EAAA,GAAA,cAAAD,EAAAlG,KAAAkG,EAAA2yF,QAAA,IAAA37F,GAAAyJ,KAAA0pF,YAAAlqF,IAAAjI,GAAiM++F,kBAAA3+F,UAAAw+F,oBAAA,WAA4D,IAAA,GAAA52F,GAAAS,KAAAk2F,SAAA55F,EAAAulB,KAAAC,MAA2CviB,EAAA5G,OAAA,GAAA2D,EAAAiD,EAAA,GAAA,GAA3C,KAAmEA,EAAAkjF,SAAWnsF,OAAAD,QAAAigG,oBAC9kH/H,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAAmE4G,KAAA,SAAA72F,QAAAxJ,OAAAD,SACtE,YAAa,SAAAugG,SAAAt6F,GAAoB,MAAAA,IAAA,EAAAA,GAAe,GAAAu6F,iBAAA,SAAAv6F,GAAwE0D,KAAA4tF,KAAAtxF,EAAA0D,KAAA00F,IAAAp4F,EAAA8tF,qBAAApqF,KAAAg1F,WAAAh1F,KAAAg1F,WAAAxhF,KAAAxT,MAAwF62F,iBAAAl/F,UAAAg9F,UAAA,WAA+C,QAAA30F,KAAA40F,UAAsBiC,gBAAAl/F,UAAA80C,OAAA,WAA6CzsC,KAAA20F,cAAA30F,KAAA00F,IAAA/1F,iBAAA,UAAAqB,KAAAg1F,YAAA,GAAAh1F,KAAA40F,UAAA,IAA6FiC,gBAAAl/F,UAAA6D,QAAA,WAA8CwE,KAAA20F,cAAA30F,KAAA00F,IAAA1F,oBAAA,UAAAhvF,KAAAg1F,YAAAh1F,KAAA40F,UAAA,IAA6FiC,gBAAAl/F,UAAAq9F,WAAA,SAAA14F,GAAkD,KAAAA,EAAAy2F,QAAAz2F,EAAAu2F,SAAAv2F,EAAA02F,SAAA,CAAsC,GAAAzzF,GAAA,EAAAG,EAAA,EAAAnI,EAAA,EAAAiI,EAAA,EAAAjJ,EAAA,CAAwB,QAAA+F,EAAAi5F,SAAkB,IAAA,IAAA,IAAA,KAAA,IAAA,KAAA,IAAA,KAAAh2F,EAAA,CAAuC,MAAM,KAAA,KAAA,IAAA,KAAA,IAAA,KAAAA,GAAA,CAAgC,MAAM,KAAA,IAAAjD,EAAAw2F,SAAApzF,GAAA,GAAApD,EAAAytF,iBAAAvqF,GAAA,EAAkD,MAAM,KAAA,IAAAlD,EAAAw2F,SAAApzF,EAAA,GAAApD,EAAAytF,iBAAAvqF,EAAA,EAAgD,MAAM,KAAA,IAAAlD,EAAAw2F,SAAAv7F,EAAA,GAAA+E,EAAAytF,iBAAAxzF,GAAA,EAAiD,MAAM,KAAA,IAAA+F,EAAAw2F,SAAAv7F,GAAA,GAAAhB,EAAA,EAAA+F,EAAAytF,iBAAiD,MAAM,SAAA,OAAe,GAAAjyF,GAAAkI,KAAA4tF,KAAA32F,EAAAa,EAAAg3D,UAAAh4D,GAAiC4nD,SAAA,IAAAiuC,eAAA,IAAAb,OAAA8K,QAAAt7F,KAAAiE,EAAAW,KAAAyO,MAAA1X,GAAAsI,GAAAjD,EAAAw2F,SAAA,EAAA,GAAA77F,EAAA2oC,QAAA9nC,EAAA0zF,aAA39B,GAA29B9rF,EAAA8lC,MAAA1tC,EAAA8zF,WAA39B,GAA29Br0F,EAAAmlC,QAA39B,KAA29Bl9B,EAA39B,KAA29BjJ,GAAA8E,OAAAvD,EAAA8rC,YAAkN9rC,GAAAuzF,OAAAv0F,GAAYmzF,cAAA3tF,MAAmBhG,OAAAD,QAAAwgG,qBACxvCC,KAAA,SAAAh3F,QAAAxJ,OAAAD,SACJ,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA0f,QAAA1f,QAAA,sBAAA1G,OAAA0G,QAAA,qBAAAi3F,GAAA39F,OAAA+2F,UAAA6G,UAAA94F,cAAA+4F,SAAA,IAAAF,GAAA9jF,QAAA,WAAAikF,QAAA,IAAAH,GAAA9jF,QAAA,YAAA,IAAA8jF,GAAA9jF,QAAA,SAAAkkF,kBAAA,SAAA76F,GAAoT0D,KAAA4tF,KAAAtxF,EAAA0D,KAAA00F,IAAAp4F,EAAA8tF,qBAAAt6D,KAAA68B,SAAA,WAAA,cAAA3sD,MAA0Fm3F,mBAAAx/F,UAAAg9F,UAAA,WAAiD,QAAA30F,KAAA40F,UAAsBuC,kBAAAx/F,UAAA80C,OAAA,SAAAnwC,GAAgD0D,KAAA20F,cAAA30F,KAAA00F,IAAA/1F,iBAAA,QAAAqB,KAAAo3F,UAAA,GAAAp3F,KAAA00F,IAAA/1F,iBAAA,aAAAqB,KAAAo3F,UAAA,GAAAp3F,KAAA40F,UAAA,EAAA50F,KAAAq3F,cAAA/6F,GAAA,WAAAA,EAAA8vF,SAA4L+K,kBAAAx/F,UAAA6D,QAAA,WAAgDwE,KAAA20F,cAAA30F,KAAA00F,IAAA1F,oBAAA,QAAAhvF,KAAAo3F,UAAAp3F,KAAA00F,IAAA1F,oBAAA,aAAAhvF,KAAAo3F,UAAAp3F,KAAA40F,UAAA,IAAkJuC,kBAAAx/F,UAAAy/F,SAAA,SAAA96F,GAAkD,GAAAiD,EAAM,WAAAjD,EAAAjD,MAAAkG,EAAAjD,EAAAg7F,OAAAL,SAAA36F,EAAAi7F,YAAAn+F,OAAAo+F,WAAAC,kBAAAl4F,GAAAigB,QAAAwsB,kBAAA1vC,EAAAi7F,YAAAn+F,OAAAo+F,WAAAE,iBAAAn4F,GAAA,KAAA,eAAAjD,EAAAjD,OAAAkG,GAAAjD,EAAAq7F,YAAAT,SAAA33F,GAAA,GAAuO,IAAAtI,GAAAuoB,QAAAsC,MAAAvrB,EAAAU,GAAA+I,KAAA43F,OAAA,EAAwC53F,MAAAi2F,KAAAjN,IAAAS,SAAAzpF,KAAA00F,IAAAp4F,GAAA0D,KAAA43F,MAAA3gG,EAAA,IAAAsI,GAAAA,EAAA,gBAAA,EAAAS,KAAA63F,MAAA,QAAA,IAAAt4F,GAAAW,KAAAsF,IAAAjG,GAAA,EAAAS,KAAA63F,MAAA,WAAAthG,EAAA,KAAAyJ,KAAA63F,MAAA,KAAA73F,KAAA83F,WAAAv4F,EAAAS,KAAA+3F,SAAAx5E,WAAAve,KAAAg4F,WAAA,KAAAh4F,KAAA63F,QAAA73F,KAAA63F,MAAA33F,KAAAsF,IAAAjP,EAAAgJ,GAAA,IAAA,WAAA,QAAAS,KAAA+3F,WAAAr5E,aAAA1e,KAAA+3F,UAAA/3F,KAAA+3F,SAAA,KAAAx4F,GAAAS,KAAA83F,aAAAx7F,EAAAw2F,UAAAvzF,IAAAA,GAAA,GAAAS,KAAA63F,OAAA73F,KAAA8lC,OAAAvmC,EAAAjD,GAAAA,EAAAytF,kBAAwboN,kBAAAx/F,UAAAqgG,WAAA,WAAmDh4F,KAAA63F,MAAA,QAAA73F,KAAA8lC,OAAA9lC,KAAA83F,aAAgDX,kBAAAx/F,UAAAmuC,MAAA,SAAAxpC,EAAAiD,GAAiD,GAAA,IAAAjD,EAAA,CAAU,GAAArF,GAAA+I,KAAA4tF,KAAAr3F,EAAA,GAAA,EAAA2J,KAAA0R,KAAA1R,KAAAsF,IAAAlJ,EAAA,MAAmDA,GAAA,GAAA,IAAA/F,IAAAA,EAAA,EAAAA,EAAoB,IAAAC,GAAAS,EAAA80F,KAAA90F,EAAA80F,KAAAp3C,GAAA19C,EAAAmW,UAAAvL,MAAA/J,EAAAb,EAAAmW,UAAAi5B,UAAA7vC,EAAAD,EAAsEU,GAAA+rC,OAAAlrC,GAAY4mD,SAAA,UAAA1+C,KAAA63F,MAAA,IAAA,EAAAzL,OAAApsF,KAAAq3F,cAAApgG,EAAA2sC,YAAA3sC,EAAA6vC,UAAA9mC,KAAAi2F,MAAAtJ,eAAA,IAAAX,cAAA,IAAwI/B,cAAA1qF,MAAmBjJ,OAAAD,QAAA8gG,oBAC9lEc,qBAAA,IAAA1J,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAA4FmI,KAAA,SAAAp4F,QAAAxJ,OAAAD,SAC/F,YAAa,IAAA2yF,KAAAlpF,QAAA,kBAAAgwB,KAAAhwB,QAAA,mBAAA1G,OAAA0G,QAAA,qBAAA81F,cAAA9lE,KAAA09D,OAAA,EAAA,EAAA,IAAA,GAAA2K,uBAAA,SAAA54F,GAAsTS,KAAA4tF,KAAAruF,EAAAS,KAAA00F,IAAAn1F,EAAA6qF,qBAAAt6D,KAAA68B,SAAA,WAAA,UAAA,UAAA3sD,MAAgGm4F,wBAAAxgG,UAAAg9F,UAAA,WAAsD,QAAA30F,KAAA40F,UAAsBuD,uBAAAxgG,UAAA80C,OAAA,SAAAltC,GAAqDS,KAAA20F,cAAA30F,KAAA00F,IAAA11F,UAAAC,IAAA,8BAAAe,KAAA00F,IAAA/1F,iBAAA,aAAAqB,KAAAo4F,UAAA,GAAAp4F,KAAA40F,UAAA,EAAA50F,KAAAq3F,cAAA93F,GAAA,WAAAA,EAAA6sF,SAA6L+L,uBAAAxgG,UAAA6D,QAAA,WAAqDwE,KAAA20F,cAAA30F,KAAA00F,IAAA11F,UAAA+wD,OAAA,8BAAA/vD,KAAA00F,IAAA1F,oBAAA,aAAAhvF,KAAAo4F,UAAAp4F,KAAA40F,UAAA,IAAsJuD,uBAAAxgG,UAAA0gG,gBAAA,WAA6Dr4F,KAAAs4F,mBAAA,GAA0BH,uBAAAxgG,UAAA4gG,eAAA,WAA4Dv4F,KAAAs4F,mBAAA,GAA0BH,uBAAAxgG,UAAAygG,SAAA,SAAA74F,GAAuD,GAAA,IAAAA,EAAAuqF,QAAAnxF,OAAA,CAAyB,GAAA2D,GAAA0sF,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,EAAAuqF,QAAA,IAAA7yF,EAAA+xF,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,EAAAuqF,QAAA,GAAgF9pF,MAAAw4F,UAAAl8F,EAAAwgB,IAAA7lB,GAAA+I,KAAAy4F,YAAAz4F,KAAA4tF,KAAAxgF,UAAAvL,MAAA7B,KAAA04F,cAAA14F,KAAA4tF,KAAAxgF,UAAAwyB,QAAA5/B,KAAA24F,mBAAA,GAAA34F,KAAAk2F,YAAA98F,OAAAoF,SAAAG,iBAAA,YAAAqB,KAAAu0F,SAAA,GAAAn7F,OAAAoF,SAAAG,iBAAA,WAAAqB,KAAA44F,QAAA,KAAyRT,uBAAAxgG,UAAA48F,QAAA,SAAAh1F,GAAsD,GAAA,IAAAA,EAAAuqF,QAAAnxF,OAAA,CAAyB,GAAA2D,GAAA0sF,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,EAAAuqF,QAAA,IAAA7yF,EAAA+xF,IAAAS,SAAAzpF,KAAA00F,IAAAn1F,EAAAuqF,QAAA,IAAAvzF,EAAA+F,EAAA2C,IAAAhI,GAAAuB,IAAA,GAAAjB,EAAA+E,EAAAwgB,IAAA7lB,GAAAyI,EAAAnI,EAAAomB,MAAA3d,KAAAw4F,UAAA76E,MAAAne,EAAAQ,KAAAs4F,kBAAA,EAAA,IAAA/gG,EAAAymB,UAAAhe,KAAAw4F,WAAAt4F,KAAAgG,GAAApO,EAAAkI,KAAA4tF,IAA2N,IAAA5tF,KAAA24F,eAAA,CAAwB,GAAAp4F,IAAOm+C,SAAA,EAAA0tC,OAAAt0F,EAAAgvC,UAAAvwC,GAAkC,YAAAyJ,KAAA24F,iBAAAp4F,EAAAq/B,QAAA5/B,KAAA04F,cAAAl5F,GAAA,SAAAQ,KAAA24F,gBAAA,WAAA34F,KAAA24F,iBAAAp4F,EAAAjF,KAAAxD,EAAAsV,UAAAi5B,UAAArmC,KAAAy4F,YAAA/4F,IAAA5H,EAAA0xF,OAAAxpF,KAAAm2F,sBAAAn2F,KAAAk2F,SAAAt7F,MAAAinB,KAAAC,MAAApiB,EAAAnJ,IAAAuB,EAAAuzF,OAAA9qF,GAAuQ0pF,cAAA1qF,QAAkB,CAAK,GAAAE,GAAAS,KAAAsF,IAAA,EAAA9F,GAA9oE,GAA8oEQ,MAAAsF,IAAAhG,GAA9oE,EAAquEQ,KAAA24F,eAAA,SAAAl5F,IAAAO,KAAA24F,eAAA,QAAA34F,KAAA24F,iBAAA34F,KAAAw4F,UAAAjhG,EAAAyI,KAAAy4F,YAAA3gG,EAAAsV,UAAAvL,MAAA7B,KAAA04F,cAAA5gG,EAAAsV,UAAAwyB,SAAiLrgC,EAAAwqF,mBAAoBoO,uBAAAxgG,UAAAihG,OAAA,SAAAr5F,GAAqDnG,OAAAoF,SAAAwwF,oBAAA,YAAAhvF,KAAAu0F,SAAAn7F,OAAAoF,SAAAwwF,oBAAA,WAAAhvF,KAAA44F,QAAA54F,KAAAm2F,qBAAqJ,IAAA75F,GAAA0D,KAAAk2F,SAAAj/F,EAAA+I,KAAA4tF,IAAgC,IAAAtxF,EAAA3D,OAAA,EAAA1B,EAAA00F,gBAA4C1B,cAAA1qF,QAA5C,CAA8D,GAAAhJ,GAAA+F,EAAAA,EAAA3D,OAAA,GAAApB,EAAA+E,EAAA,GAAAoD,EAAAzI,EAAAmW,UAAAi5B,UAAArmC,KAAAy4F,YAAAliG,EAAA,IAAAiJ,EAAAvI,EAAAmW,UAAAi5B,UAAArmC,KAAAy4F,YAAAlhG,EAAA,IAAAO,EAAA4H,EAAAF,EAAAe,GAAAhK,EAAA,GAAAgB,EAAA,IAAA,IAAAkI,EAAAlJ,EAAA,EAAwJ,IAAA,IAAAgK,GAAAb,IAAAF,EAAA,CAAgE,GAAAhJ,GAA16F,IAA06FsB,EAAAyI,CAA2BL,MAAAsF,IAAAhP,GAAr8F,MAAq8FA,EAAAA,EAAA,EAAr8F,KAAA,IAA2gG,IAAAM,GAAA,IAAAoJ,KAAAsF,IAAAhP,GAA3gG,GAAA,MAA2gGI,EAAA8I,EAAAlJ,EAAAM,EAAA,GAAyEF,GAAA,IAAAA,EAAA,GAAAK,EAAAo0F,QAAqB/vF,KAAA1E,EAAA8nD,SAAA5nD,EAAAg1F,OAAA8J,cAAAxJ,OAAApsF,KAAAq3F,cAAApgG,EAAA2sC,YAAA3sC,EAAA6vC,UAAArnC,KAAgGwqF,cAAA1qF,QAA/VtI,GAAA00F,gBAA8C1B,cAAA1qF,MAAmU44F,uBAAAxgG,UAAAw+F,oBAAA,WAAiE,IAAA,GAAA52F,GAAAS,KAAAk2F,SAAA55F,EAAAulB,KAAAC,MAA2CviB,EAAA5G,OAAA,GAAA2D,EAAAiD,EAAA,GAAA,GAA3C,KAAmEA,EAAAkjF,SAAWnsF,OAAAD,QAAA8hG,yBACp3G5J,iBAAA,IAAApzD,kBAAA,IAAA40D,oBAAA,MAAmE8I,KAAA,SAAA/4F,QAAAxJ,OAAAD,SACtE,YAAa,IAAAy5B,MAAAhwB,QAAA,gBAAA1G,OAAA0G,QAAA,kBAAAg5F,KAAA,WAAkFhpE,KAAA68B,SAAA,gBAAA,eAAA3sD,MAAoD84F,MAAAnhG,UAAAohG,MAAA,SAAAx5F,GAAiC,MAAAS,MAAA4tF,KAAAruF,EAAAnG,OAAAuF,iBAAA,aAAAqB,KAAAg5F,eAAA,GAAAh5F,KAAA4tF,KAAA/xF,GAAA,UAAAmE,KAAAi5F,aAAAj5F,MAA6H84F,KAAAnhG,UAAAo4D,OAAA,WAAkC,MAAA32D,QAAA41F,oBAAA,aAAAhvF,KAAAg5F,eAAA,GAAAh5F,KAAA4tF,KAAA9tE,IAAA,UAAA9f,KAAAi5F,mBAAAj5F,MAAA4tF,KAAA5tF,MAAsI84F,KAAAnhG,UAAAqhG,cAAA,WAAyC,GAAAz5F,GAAAnG,OAAAsB,SAAAw+F,KAAAv0E,QAAA,IAAA,IAAAvsB,MAAA,IAAsD,OAAAmH,GAAA5G,QAAA,IAAAqH,KAAA4tF,KAAA1C,QAAuC7vF,SAAAkE,EAAA,IAAAA,EAAA,IAAAjE,MAAAiE,EAAA,GAAAqgC,UAAArgC,EAAA,IAAA,GAAAimC,QAAAjmC,EAAA,IAAA,MAAoE,IAAMu5F,KAAAnhG,UAAAshG,YAAA,WAAuC,GAAA15F,GAAAS,KAAA4tF,KAAAhqD,YAAAtnC,EAAA0D,KAAA4tF,KAAA9+B,UAAApvD,EAAAM,KAAA4tF,KAAApC,aAAAjrF,EAAAP,KAAA4tF,KAAAhC,WAAAr1F,EAAA2J,KAAAyD,IAAA,EAAAzD,KAAAmY,KAAAnY,KAAAkL,IAAA9O,GAAA4D,KAAAwQ,MAAAnZ,EAAA,IAAA2I,KAAAyO,MAAA,IAAArS,GAAA,IAAA,IAAAiD,EAAA8jC,IAAAyc,QAAAvpD,GAAA,IAAAgJ,EAAA6jC,IAAA0c,QAAAvpD,IAAsNmJ,GAAAa,KAAAhJ,GAAA,IAAA2I,KAAAyO,MAAA,GAAAjP,GAAA,IAAAa,IAAAhJ,GAAA,IAAA2I,KAAAyO,MAAApO,IAAAnH,OAAA+/F,QAAAC,aAAA,GAAA,GAAA7hG,IAAoGjB,OAAAD,QAAAyiG,OACvgCloE,eAAA,IAAAq0B,iBAAA,MAAwCo0C,KAAA,SAAAv5F,QAAAxJ,OAAAD,SAC3C,YAAa,SAAAyQ,YAAAvH,GAAuBA,EAAAsqF,YAAAtqF,EAAAsqF,WAAAqE,YAAA3uF,GAA0C,GAAAuwB,MAAAhwB,QAAA,gBAAA0f,QAAA1f,QAAA,mBAAA1G,OAAA0G,QAAA,kBAAAkpF,IAAAlpF,QAAA,eAAAqnD,KAAArnD,QAAA,gBAAA8oC,MAAA9oC,QAAA,kBAAAk4E,cAAAl4E,QAAA,2BAAAs8C,QAAAt8C,QAAA,qBAAA4kC,UAAA5kC,QAAA,oBAAAg5F,KAAAh5F,QAAA,UAAAw5F,aAAAx5F,QAAA,mBAAAgrF,OAAAhrF,QAAA,YAAAqjC,OAAArjC,QAAA,kBAAAjD,aAAAiD,QAAA,yBAAA6c,MAAA7c,QAAA,kBAAAyoC,mBAAAzoC,QAAA,iCAAA2xF,YAAA3xF,QAAA,0BAAAsS,YAAAtS,QAAA,uBAAAy5F,gBAA0sBl+F,QAAA,EAAA,GAAAC,KAAA,EAAAskC,QAAA,EAAA4F,MAAA,EAAA9jB,QAA1sB,EAA0sB1V,QAA1sB,GAA0sBhQ,aAAA,EAAAT,YAAA,EAAA2tF,SAAA,EAAAC,YAAA,EAAAC,SAAA,EAAAC,UAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAA0B,YAAA,EAAAiO,MAAA,EAAAM,oBAAA,EAAA3mF,8BAAA,EAAA4mF,uBAAA,EAAAC,aAAA,EAAAt0D,mBAAA,EAAAu0D,qBAAA,GAAuWz+F,IAAA,SAAAqE,GAAiB,QAAAjD,GAAAA,GAAc,GAAArF,GAAA+I,IAAW,IAAmB,OAAnB1D,EAAAwzB,KAAA1yB,UAAmBm8F,eAAAj9F,IAAAolB,SAAA,MAAAplB,EAAA0P,SAAA1P,EAAAolB,QAAAplB,EAAA0P,QAAA,KAAA,IAAArM,OAAA,uCAAiI,IAAApJ,GAAA,GAAAmuC,WAAApoC,EAAAolB,QAAAplB,EAAA0P,QAAA1P,EAAA8oC,kBAA6D,IAAA7lC,EAAA7I,KAAAsJ,KAAAzJ,EAAA+F,GAAA0D,KAAA45F,aAAAt9F,EAAAN,YAAAgE,KAAA65F,8BAAAv9F,EAAAuW,6BAAA7S,KAAA85F,uBAAAx9F,EAAAm9F,sBAAAz5F,KAAA+5F,aAAAz9F,EAAAo9F,YAAA15F,KAAAgrF,aAAA1uF,EAAA2uF,YAAAjrF,KAAAorD,qBAAA9uD,EAAAq9F,oBAAA,gBAAAr9F,GAAAnB,WAAwT,GAAA6E,KAAA6tF,WAAAz0F,OAAAoF,SAAA8lD,eAAAhoD,EAAAnB,YAAA6E,KAAA6tF,WAAA,KAAA,IAAAluF,OAAA,cAAArD,EAAAnB,UAAA,oBAA0I6E,MAAA6tF,WAAAvxF,EAAAnB,SAAiC6E,MAAAy2C,cAAA,GAAAuhC,eAAA17E,EAAA09F,WAAAh6F,KAAAi6F,aAAA39F,EAAA09F,WAAAlqE,KAAA68B,SAAA,kBAAA,kBAAA,eAAA,mBAAA,UAAA,UAAA,UAAA,kBAAA3sD,MAAAA,KAAAk6F,kBAAAl6F,KAAAm6F,gBAAAn6F,KAAAnE,GAAA,OAAAmE,KAAAo6F,QAAA5mF,KAAAxT,MAAA,IAAAA,KAAAnE,GAAA,OAAAmE,KAAAo6F,QAAA5mF,KAAAxT,MAAA,IAAAA,KAAAnE,GAAA,UAAA,WAA0X5E,EAAAw/C,cAAAtmC,IAAA,KAAAlZ,EAAAytD,kBAAuC,KAAAtrD,SAAAA,OAAAuF,iBAAA,SAAAqB,KAAAq6F,iBAAA,GAAAjhG,OAAAuF,iBAAA,SAAAqB,KAAAs6F,iBAAA,IAAAhB,aAAAt5F,KAAA1D,GAAA0D,KAAAu6F,MAAAj+F,EAAA48F,OAAA,GAAAJ,OAAAC,MAAA/4F,MAAAA,KAAAu6F,OAAAv6F,KAAAu6F,MAAAvB,iBAAAh5F,KAAAkrF,QAAwQ7vF,OAAAiB,EAAAjB,OAAAC,KAAAgB,EAAAhB,KAAAskC,QAAAtjC,EAAAsjC,QAAA4F,MAAAlpC,EAAAkpC,QAA4DxlC,KAAAw6F,YAAAx6F,KAAA4D,SAAAtH,EAAAm+F,SAAAz6F,KAAA06F,WAAAp+F,EAAAm+F,SAAAn+F,EAAAlB,OAAA4E,KAAApB,SAAAtC,EAAAlB,OAAAkB,EAAAk9F,oBAAAx5F,KAAAvE,WAAA,GAAA8sC,qBAAAvoC,KAAAvE,WAAA,GAAAg2F,aAAAn1F,EAAAq+F,cAAA36F,KAAAnE,GAAA,aAAA,WAAqPmE,KAAAoN,UAAAs4B,YAAA1lC,KAAAkrF,OAAAlrF,KAAA5E,MAAAogF,YAAAx7E,KAAA5E,MAAAyyD,OAAA7tD,KAAAw6F,UAA+FrjC,YAAA,MAAgBn3D,KAAAnE,GAAA,OAAAmE,KAAA46F,SAAA56F,KAAAnE,GAAA,cAAAmE,KAAA66F,gBAA0Et7F,IAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,CAAuF,IAAArF,IAAO8nD,sBAAqBzG,sBAAsBqG,yBAAyBm8C,WAAWlyF,YAAc,OAAAtM,GAAA3E,UAAA8D,WAAA,SAAA8D,EAAAjD,OAA4C,KAAAA,GAAAiD,EAAAmuF,qBAAApxF,EAAAiD,EAAAmuF,0BAAA,KAAApxF,IAAAA,EAAA,YAAyF,IAAArF,GAAAsI,EAAAwlD,MAAA/kD,MAAAzJ,EAAAyJ,KAAA+6F,kBAAAz+F,EAAgD,QAAA,IAAAA,EAAA2W,QAAA,UAAA1c,EAAAykG,aAAA/jG,EAAAV,EAAA0kG,YAAA1kG,EAAAoF,YAAA1E,GAAA+I,MAAqF1D,EAAA3E,UAAAujG,cAAA,SAAA37F,GAAuC,MAAAA,GAAAwnD,SAAA/mD,MAAAA,MAA6B1D,EAAA3E,UAAAwjG,SAAA,SAAA57F,EAAAjD,GAAoC,MAAAwzB,MAAA8H,SAAA,4FAAA53B,KAAAw6F,SAAAvnF,QAAA1T,IAAA,GAAA,KAAAA,EAAAS,MAAAA,KAAAw6F,SAAA5/F,KAAA2E,GAAAS,KAAAo7F,cAAA9+F,EAAA0D,KAAA5E,OAAA4E,KAAA5E,MAAAqgF,gBAAAz7E,KAAAo6F,SAAA,KAA+P99F,EAAA3E,UAAA0jG,YAAA,SAAA97F,EAAAjD,GAAuCwzB,KAAA8H,SAAA,2FAA0G,IAAA3gC,GAAA+I,KAAAw6F,SAAAvnF,QAAA1T,EAA+B,OAAAtI,GAAA,GAAA,KAAAsI,EAAAS,MAAAA,KAAAw6F,SAAAp2F,OAAAnN,EAAA,GAAA+I,KAAAo7F,cAAA9+F,EAAA0D,KAAA5E,OAAA4E,KAAA5E,MAAAqgF,gBAAAz7E,KAAAo6F,SAAA,KAAiI99F,EAAA3E,UAAA+iG,WAAA,SAAAn7F,EAAAjD,GAAsCwzB,KAAA8H,SAAA,2FAA0G,KAAA,GAAA3gC,MAAYV,EAAA,EAAKA,EAAAgJ,EAAA5G,OAAWpC,IAAA,KAAAgJ,EAAAhJ,KAAAU,EAAAsI,EAAAhJ,KAAA,EAA4B,OAAAyJ,MAAAw6F,SAAAtjG,OAAAqY,KAAAtY,GAAA+I,KAAAo7F,cAAA9+F,EAAA0D,KAAA5E,OAAA4E,KAAA5E,MAAAqgF,gBAAAz7E,KAAAo6F,SAAA,IAAiH99F,EAAA3E,UAAA2jG,SAAA,SAAA/7F,GAAkC,MAAAuwB,MAAA8H,SAAA,4FAAA53B,KAAAw6F,SAAAvnF,QAAA1T,IAAA,GAA6IjD,EAAA3E,UAAA4jG,WAAA,WAAmC,MAAAzrE,MAAA8H,SAAA,4FAAA53B,KAAAw6F,UAA+Hl+F,EAAA3E,UAAAiM,OAAA,WAA+B,GAAArE,GAAAS,KAAAw7F,uBAAAl/F,EAAAiD,EAAA,GAAAtI,EAAAsI,EAAA,EAAgD,OAAAS,MAAAy7F,cAAAn/F,EAAArF,GAAA+I,KAAAoN,UAAAxJ,OAAAtH,EAAArF,GAAA+I,KAAAuxC,QAAA3tC,OAAAtH,EAAArF,GAAA+I,KAAAwkD,KAAA,aAAAA,KAAA,QAAAA,KAAA,UAAAA,KAAA,YAAsJloD,EAAA3E,UAAA+jG,UAAA,WAAkC,GAAAn8F,GAAA,GAAA1C,cAAAmD,KAAAoN,UAAAg6B,cAAA,GAAAzqB,OAAA,EAAA3c,KAAAoN,UAAA5J,SAAAxD,KAAAoN,UAAAg6B,cAAA,GAAAzqB,OAAA3c,KAAAoN,UAAA7J,MAAA,IAAyJ,QAAAvD,KAAAoN,UAAAyQ,OAAA7d,KAAAoN,UAAAo4B,SAAAjmC,EAAAnC,OAAA4C,KAAAoN,UAAAg6B,cAAA,GAAAzqB,OAAA3c,KAAAoN,UAAAm4B,KAAA3kC,EAAA,KAAArB,EAAAnC,OAAA4C,KAAAoN,UAAAg6B,cAAA,GAAAzqB,OAAA,EAAA3c,KAAAoN,UAAAm4B,KAAA/kC,MAAAjB,GAA8MjD,EAAA3E,UAAAsiG,aAAA,SAAA16F,GAAsC,GAAAA,EAAA,CAAM,GAAAjD,GAAAO,aAAAgO,QAAAtL,EAA8BS,MAAAoN,UAAAw6B,UAAAtrC,EAAA0nC,UAAA1nC,EAAA6nC,WAAAnkC,KAAAoN,UAAA03B,UAAAxoC,EAAA8nC,WAAA9nC,EAAA2nC,YAAAjkC,KAAAoN,UAAA84B,aAAAlmC,KAAAo6F,cAAiJ,QAAA76F,OAAA,KAAAA,IAAAS,KAAAoN,UAAAw6B,YAAA5nC,KAAAoN,UAAA03B,YAAA9kC,KAAAo6F,UAAkG,OAAAp6F,OAAY1D,EAAA3E,UAAAgkG,WAAA,SAAAp8F,GAAoC,IAAAA,EAAA,OAAAA,OAAA,KAAAA,EAApmL,EAAomLA,IAApmL,GAAomLA,GAAAS,KAAAoN,UAAApB,QAAA,MAAAhM,MAAAoN,UAAAsU,QAAAniB,EAAAS,KAAAo6F,UAAAp6F,KAAA8uD,UAAAvvD,GAAAS,KAAA82D,QAAAv3D,GAAAS,IAA8K,MAAA,IAAAL,OAAA,iEAAiGrD,EAAA3E,UAAAikG,WAAA,WAAmC,MAAA57F,MAAAoN,UAAAsU,SAA8BplB,EAAA3E,UAAAkkG,WAAA,SAAAt8F,GAAoC,IAAAA,EAAA,OAAAA,OAAA,KAAAA,EAAx9L,GAAw9LA,IAAAS,KAAAoN,UAAAsU,QAAA,MAAA1hB,MAAAoN,UAAApB,QAAAzM,EAAAS,KAAAo6F,UAAAp6F,KAAA8uD,UAAAvvD,GAAAS,KAAA82D,QAAAv3D,GAAAS,IAA2J,MAAA,IAAAL,OAAA,qDAAoErD,EAAA3E,UAAAmkG,WAAA,WAAmC,MAAA97F,MAAAoN,UAAApB,SAA8B1P,EAAA3E,UAAAqT,QAAA,SAAAzL,GAAiC,MAAAS,MAAAoN,UAAA85B,cAAA/D,OAAAt4B,QAAAtL,KAAuDjD,EAAA3E,UAAAmvC,UAAA,SAAAvnC,GAAmC,MAAAS,MAAAoN,UAAAg6B,cAAAzqB,MAAA9R,QAAAtL,KAAsDjD,EAAA3E,UAAAkE,GAAA,SAAAS,EAAArF,EAAAV,GAAgC,GAAAiJ,GAAAQ,IAAW,QAAA,KAAAzJ,EAAA,MAAAgJ,GAAA5H,UAAAkE,GAAAnF,KAAAsJ,KAAA1D,EAAArF,EAAmD,IAAAa,GAAA,WAAiB,GAAA,eAAAwE,GAAA,cAAAA,EAAA,CAAsC,GAAAiD,IAAA,CAAsK,QAAO9C,MAAAxF,EAAA8kG,SAAAxlG,EAAAylG,WAA8BC,UAA3M,SAAAnkG,GAAuB,GAAAP,GAAAiI,EAAAjD,sBAAAzE,EAAA0E,OAAuC+rB,QAAAtxB,IAAaM,GAAAoB,OAAA4G,IAAAA,GAAA,EAAAhJ,EAAAG,KAAA8I,EAAAswB,KAAA1yB,QAAwC9D,SAAA/B,GAAWO,GAAIuB,KAAAiD,MAAOiD,GAAA,GAAkE28F,SAAzD,WAAc38F,GAAA,KAAoE,GAAA,eAAAjD,GAAA,aAAAA,EAAA,CAAqC,GAAAoD,IAAA,CAAuM,QAAOjD,MAAAxF,EAAA8kG,SAAAxlG,EAAAylG,WAA8BC,UAA5O,SAAA18F,GAAuBC,EAAAjD,sBAAAgD,EAAA/C,OAAuC+rB,QAAAtxB,KAAa0B,OAAA+G,GAAA,EAAAA,IAAAA,GAAA,EAAAnJ,EAAAG,KAAA8I,EAAAswB,KAAA1yB,UAA8CmC,GAAIlG,KAAAiD,OAA+G4/F,SAApG,SAAA38F,GAAeG,IAAAA,GAAA,EAAAnJ,EAAAG,KAAA8I,EAAAswB,KAAA1yB,UAAgCmC,GAAIlG,KAAAiD,SAA0E,GAAAmD,GAAA,SAAAF,GAAkB,GAAAjD,GAAAkD,EAAAjD,sBAAAgD,EAAA/C,OAAuC+rB,QAAAtxB,IAAaqF,GAAA3D,QAAApC,EAAAG,KAAA8I,EAAAswB,KAAA1yB,QAAgC9D,SAAAgD,GAAWiD,IAAM,QAAO9C,MAAAxF,EAAA8kG,SAAAxlG,EAAAylG,WAAAllG,KAAkCA,EAAAwF,GAAAmD,EAAA3I,GAAY,IAAAA,KAASkJ,MAAAm8F,oBAAAn8F,KAAAm8F,wBAAqDn8F,KAAAm8F,oBAAA7/F,GAAA0D,KAAAm8F,oBAAA7/F,OAAA0D,KAAAm8F,oBAAA7/F,GAAA1B,KAAA9C,EAAiG,KAAA,GAAAP,KAAAO,GAAAkkG,UAAAx8F,EAAA3D,GAAAtE,EAAAO,EAAAkkG,UAAAzkG,GAAgD,OAAAyI,OAAY1D,EAAA3E,UAAAmoB,IAAA,SAAAxjB,EAAArF,EAAAV,GAAiC,GAAAiJ,GAAAQ,IAAW,QAAA,KAAAzJ,EAAA,MAAAgJ,GAAA5H,UAAAmoB,IAAAppB,KAAAsJ,KAAA1D,EAAArF,EAAoD,IAAA+I,KAAAm8F,qBAAAn8F,KAAAm8F,oBAAA7/F,GAAA,IAAA,GAAAxE,GAAAkI,KAAAm8F,oBAAA7/F,GAAA/E,EAAA,EAAmGA,EAAAO,EAAAa,OAAWpB,IAAA,CAAK,GAAAmI,GAAA5H,EAAAP,EAAW,IAAAmI,EAAAjD,QAAAxF,GAAAyI,EAAAq8F,WAAAxlG,EAAA,CAAgC,IAAA,GAAAgK,KAAAb,GAAAs8F,UAAAx8F,EAAAsgB,IAAAvf,EAAAb,EAAAs8F,UAAAz7F,GAAiD,OAAAzI,GAAAsM,OAAA7M,EAAA,GAAAiI,KAAyBlD,EAAA3E,UAAA4E,sBAAA,WAAwG,GAAAD,GAAArF,IAAW,OAAA,KAAAyB,UAAAC,QAAA2D,EAAA5D,UAAA,GAAAzB,EAAAyB,UAAA,IAAA,IAAAA,UAAAC,QAArE,SAAA4G,GAAc,MAAAA,aAAAod,QAAA5M,MAAAuD,QAAA/T,IAAuD7G,UAAA,IAAA4D,EAAA5D,UAAA,GAAA,IAAAA,UAAAC,SAAA1B,EAAAyB,UAAA,IAAAsH,KAAA5E,MAAA4E,KAAA5E,MAAAmB,sBAAAyD,KAAAo8F,mBAAA9/F,GAAArF,EAAA+I,KAAAoN,UAAA9R,KAAA0E,KAAAoN,UAAAyQ,WAA8QvhB,EAAA3E,UAAAykG,mBAAA,SAAA78F,GAA4C,GAAAjD,GAAA0D,SAAW,KAAAT,IAAAA,GAAAod,MAAA9R,SAAA,EAAA,IAAA8R,MAAA9R,SAAA7K,KAAAoN,UAAA7J,MAAAvD,KAAAoN,UAAA5J,UAAmG,IAAAvM,EAAkD,IAAlDsI,YAAAod,QAAA,gBAAApd,GAAA,GAA+EtI,GAAvB0lB,MAAA9R,QAAAtL,QAA6B,CAAK,GAAAzH,IAAA6kB,MAAA9R,QAAAtL,EAAA,IAAAod,MAAA9R,QAAAtL,EAAA,IAAgDtI,IAAAa,EAAA,GAAA,GAAA6kB,OAAA7kB,EAAA,GAAA8I,EAAA9I,EAAA,GAAA0I,GAAA1I,EAAA,GAAA,GAAA6kB,OAAA7kB,EAAA,GAAA8I,EAAA9I,EAAA,GAAA0I,GAAA1I,EAAA,IAAqE,MAAAb,GAAAA,EAAA+D,IAAA,SAAAuE,GAA2B,MAAAjD,GAAA8Q,UAAAm5B,gBAAAhnC,MAAwCjD,EAAA3E,UAAA8yD,oBAAA,SAAAlrD,EAAAjD,GAA+C,MAAA0D,MAAA5E,MAAAqvD,oBAAAlrD,EAAAjD,IAA2CA,EAAA3E,UAAAiH,SAAA,SAAAW,EAAAjD,GAAsH,KAAlFA,IAAA,IAAAA,EAAA2+E,OAAAj7E,KAAA5E,OAAAmE,KAAAA,YAAAqpC,SAAA,gBAAArpC,GAAkF,IAAS,MAAAS,MAAA5E,MAAA8hF,SAAA39E,IAAAS,KAAAo6F,SAAA,GAAAp6F,KAAqD,MAAAT,GAASuwB,KAAA8H,SAAA,kCAAAr4B,EAAAk4D,SAAAl4D,EAAA2mB,OAAA3mB,GAAA,yCAAgH,MAAAS,MAAA5E,QAAA4E,KAAA5E,MAAAoqD,iBAAA,MAAAxlD,KAAA5E,MAAAwiF,UAAA59E,KAAA8f,IAAA,SAAA9f,KAAA5E,MAAA0iF,gBAAA99E,KAAA8f,IAAA,QAAA9f,KAAA5E,MAAA0iF,iBAAAv+E,GAAAS,KAAA5E,MAAAmE,YAAAqpC,OAAArpC,EAAA,GAAAqpC,OAAArpC,EAAAS,MAAAA,KAAA5E,MAAAoqD,iBAAAxlD,MAAuQ5E,MAAA4E,KAAA5E,QAAiB4E,KAAAnE,GAAA,SAAAmE,KAAA5E,MAAA0iF,gBAAA99E,KAAAnE,GAAA,QAAAmE,KAAA5E,MAAA0iF,gBAAA99E,OAAAA,KAAA5E,MAAA,KAAA4E,OAAsH1D,EAAA3E,UAAA0kG,SAAA,WAAiC,GAAAr8F,KAAA5E,MAAA,MAAA4E,MAAA5E,MAAAqyB,aAA4CnxB,EAAA3E,UAAA2kG,cAAA,WAAsC,MAAAt8F,MAAA5E,MAAA4E,KAAA5E,MAAAo9C,SAAA1oB,KAAA8H,SAAA,wCAA2Ft7B,EAAA3E,UAAAmE,UAAA,SAAAyD,EAAAjD,GAAqC,MAAA0D,MAAA5E,MAAAU,UAAAyD,EAAAjD,GAAA0D,KAAAo6F,SAAA,GAAAp6F,MAAuD1D,EAAA3E,UAAAwlF,eAAA,SAAA59E,GAAwC,GAAAjD,GAAA0D,KAAA5E,OAAA4E,KAAA5E,MAAA4jD,aAAAz/C,EAA6C,YAAA,KAAAjD,MAAA0D,MAAAwkD,KAAA,SAA0Ct+B,MAAA,GAAAvmB,OAAA,+BAAAJ,EAAA,OAAsDjD,EAAAk8C,UAAal8C,EAAA3E,UAAA4kG,eAAA,WAAuC,GAAAh9F,GAAAS,KAAA5E,OAAA4E,KAAA5E,MAAA4jD,YAA0C,KAAA,GAAA1iD,KAAAiD,GAAA,CAAgB,GAAAhJ,GAAAgJ,EAAAjD,GAAA0xD,MAAsB,KAAA,GAAAxuD,KAAAjJ,GAAA,CAAgB,GAAAuB,GAAAvB,EAAAiJ,EAAW,IAAA,WAAA1H,EAAAkxD,OAAA,YAAAlxD,EAAAkxD,MAAA,OAAA,GAAqD,OAAA,GAAS1sD,EAAA3E,UAAA+lF,cAAA,SAAAn+E,EAAAjD,EAAArF,GAA2C,MAAA+I,MAAA5E,MAAAsiF,cAAAn+E,EAAAjD,EAAArF,IAAuCqF,EAAA3E,UAAAowD,aAAA,SAAAxoD,GAAsC,MAAAS,MAAA5E,MAAA2sD,aAAAxoD,GAAAS,KAAAo6F,SAAA,GAAAp6F,MAAwD1D,EAAA3E,UAAA4+C,UAAA,SAAAh3C,GAAmC,MAAAS,MAAA5E,MAAAm7C,UAAAh3C,IAA+BjD,EAAA3E,UAAA0wF,SAAA,SAAA9oF,EAAAjD,EAAArF,GAAsC+I,KAAA5E,MAAA65C,YAAAozC,SAAA9oF,EAAAjD,EAAArF,IAAuCqF,EAAA3E,UAAA8wF,YAAA,SAAAlpF,GAAqCS,KAAA5E,MAAA65C,YAAAwzC,YAAAlpF,IAAsCjD,EAAA3E,UAAA6kG,UAAA,SAAAj9F,EAAAjD,GAAqC6qD,KAAAqB,SAAAjpD,EAAAjD,IAAmBA,EAAA3E,UAAAoE,SAAA,SAAAwD,EAAAjD,GAAoC,MAAA0D,MAAA5E,MAAAW,SAAAwD,EAAAjD,GAAA0D,KAAAo6F,SAAA,GAAAp6F,MAAsD1D,EAAA3E,UAAA0lF,UAAA,SAAA99E,EAAAjD,GAAqC,MAAA0D,MAAA5E,MAAAiiF,UAAA99E,EAAAjD,GAAA0D,KAAAo6F,SAAA,GAAAp6F,MAAuD1D,EAAA3E,UAAA2+D,YAAA,SAAA/2D,GAAqC,MAAAS,MAAA5E,MAAAk7D,YAAA/2D,GAAAS,KAAAo6F,SAAA,GAAAp6F,MAAuD1D,EAAA3E,UAAA+4B,SAAA,SAAAnxB,GAAkC,MAAAS,MAAA5E,MAAAs1B,SAAAnxB,IAA8BjD,EAAA3E,UAAA8+D,UAAA,SAAAl3D,EAAAjD,GAAqC,MAAA0D,MAAA5E,MAAAq7D,UAAAl3D,EAAAjD,GAAA0D,KAAAo6F,SAAA,GAAAp6F,MAAuD1D,EAAA3E,UAAA++D,kBAAA,SAAAn3D,EAAAjD,EAAArF,GAA+C,MAAA+I,MAAA5E,MAAAs7D,kBAAAn3D,EAAAjD,EAAArF,GAAA+I,KAAAo6F,SAAA,GAAAp6F,MAAiE1D,EAAA3E,UAAA4lF,UAAA,SAAAh+E,GAAmC,MAAAS,MAAA5E,MAAAmiF,UAAAh+E,IAA+BjD,EAAA3E,UAAA6+D,iBAAA,SAAAj3D,EAAAjD,EAAArF,EAAAV,GAAgD,MAAAyJ,MAAA5E,MAAAo7D,iBAAAj3D,EAAAjD,EAAArF,EAAAV,GAAAyJ,KAAAo6F,SAAA,GAAAp6F,MAAkE1D,EAAA3E,UAAA04C,iBAAA,SAAA9wC,EAAAjD,EAAArF,GAA8C,MAAA+I,MAAA5E,MAAAi1C,iBAAA9wC,EAAAjD,EAAArF,IAA0CqF,EAAA3E,UAAA4+D,kBAAA,SAAAh3D,EAAAjD,EAAArF,GAA+C,MAAA+I,MAAA5E,MAAAm7D,kBAAAh3D,EAAAjD,EAAArF,GAAA+I,KAAAo6F,SAAA,GAAAp6F,MAAiE1D,EAAA3E,UAAAs9B,kBAAA,SAAA11B,EAAAjD,GAA6C,MAAA0D,MAAA5E,MAAA65B,kBAAA11B,EAAAjD,IAAyCA,EAAA3E,UAAAk6C,SAAA,SAAAtyC,GAAkC,MAAAS,MAAA5E,MAAAy2C,SAAAtyC,GAAAS,KAAAo6F,SAAA,GAAAp6F,MAAoD1D,EAAA3E,UAAA2hF,SAAA,WAAiC,MAAAt5E,MAAA5E,MAAAk+E,YAA6Bh9E,EAAA3E,UAAAm3F,aAAA,WAAqC,MAAA9uF,MAAA6tF,YAAuBvxF,EAAA3E,UAAAyyF,mBAAA,WAA2C,MAAApqF,MAAAy8F,kBAA6BngG,EAAA3E,UAAAmtD,UAAA,WAAkC,MAAA9kD,MAAA08F,SAAoBpgG,EAAA3E,UAAA6jG,qBAAA,WAA6C,GAAAj8F,GAAA,EAAAjD,EAAA,CAAY,OAAA0D,MAAA6tF,aAAAtuF,EAAAS,KAAA6tF,WAAAS,aAAA,IAAAhyF,EAAA0D,KAAA6tF,WAAA8O,cAAA,MAAAp9F,EAAAjD,IAAuGA,EAAA3E,UAAAuiG,gBAAA,WAAwC,GAAA36F,GAAAS,KAAA6tF,UAAsBtuF,GAAAP,UAAAC,IAAA,eAAgC,IAAA3C,GAAA0D,KAAAy8F,iBAAAzT,IAAArnF,OAAA,MAAA,4BAAApC,EAA4ES,MAAA45F,cAAAt9F,EAAA0C,UAAAC,IAAA,wBAAAe,KAAA08F,QAAA1T,IAAArnF,OAAA,SAAA,kBAAArF,GAAA0D,KAAA08F,QAAAthG,MAAA3C,SAAA,WAAAuH,KAAA08F,QAAA/9F,iBAAA,mBAAAqB,KAAA48F,cAAA,GAAA58F,KAAA08F,QAAA/9F,iBAAA,uBAAAqB,KAAA68F,kBAAA,GAAA78F,KAAA08F,QAAAh+F,aAAA,WAAA,GAAAsB,KAAA08F,QAAAh+F,aAAA,aAAA,MAAoY,IAAAzH,GAAA+I,KAAAw7F,sBAAkCx7F,MAAAy7F,cAAAxkG,EAAA,GAAAA,EAAA,GAA8B,IAAAV,GAAAyJ,KAAA88F,kBAAA9T,IAAArnF,OAAA,MAAA,6BAAApC,GAAAC,EAAAQ,KAAA+6F,sBAA0G,WAAA,YAAA,cAAA,gBAAA/nF,QAAA,SAAAzT,GAA0EC,EAAAD,GAAAypF,IAAArnF,OAAA,MAAA,iBAAApC,EAAAhJ,MAA8C+F,EAAA3E,UAAA8jG,cAAA,SAAAl8F,EAAAjD,GAAyC,GAAArF,GAAAmC,OAAA4yC,kBAAA,CAAiChsC,MAAA08F,QAAAn5F,MAAAtM,EAAAsI,EAAAS,KAAA08F,QAAAl5F,OAAAvM,EAAAqF,EAAA0D,KAAA08F,QAAAthG,MAAAmI,MAAAhE,EAAA,KAAAS,KAAA08F,QAAAthG,MAAAoI,OAAAlH,EAAA,MAAgHA,EAAA3E,UAAAwiG,cAAA,WAAsC,GAAA56F,GAAAuwB,KAAA1yB,QAAmByV,6BAAA7S,KAAA65F,8BAAAJ,sBAAAz5F,KAAA85F,wBAAkH1nF,YAAAiC,wBAAA/X,EAAA0D,KAAA08F,QAAAloF,WAAA,QAAAjV,IAAAS,KAAA08F,QAAAloF,WAAA,qBAAAjV,EAA2H,OAAAjD,QAAA0D,KAAAuxC,QAAA,GAAA6K,SAAA9/C,EAAA0D,KAAAoN,gBAAApN,MAAAwkD,KAAA,SAAkFt+B,MAAA,GAAAvmB,OAAA,iCAAgDrD,EAAA3E,UAAAilG,aAAA,SAAAr9F,GAAsCA,EAAAwqF,iBAAA/pF,KAAA+8F,UAAAv9E,QAAAw9E,YAAAh9F,KAAA+8F,UAAA/8F,KAAAwkD,KAAA,oBAAmGylC,cAAA1qF,KAAkBjD,EAAA3E,UAAAklG,iBAAA,SAAAt9F,GAA0CS,KAAAm6F,gBAAAn6F,KAAA4D,SAAA5D,KAAAo6F,UAAAp6F,KAAAwkD,KAAA,wBAAoFylC,cAAA1qF,KAAkBjD,EAAA3E,UAAA6gD,OAAA,WAA+B,OAAAx4C,KAAAi9F,cAAAj9F,KAAAk9F,kBAAAl9F,KAAA5E,QAAA4E,KAAA5E,MAAAo9C,WAAmFl8C,EAAA3E,UAAAyiG,QAAA,SAAA76F,GAAiC,MAAAS,MAAA5E,OAAA4E,KAAAi9F,YAAAj9F,KAAAi9F,aAAA19F,EAAAS,KAAAk9F,eAAA,EAAAl9F,KAAA0kD,YAAA1kD,MAAAA,MAA0G1D,EAAA3E,UAAAwlG,QAAA,WAAgC,MAAAn9F,MAAA5E,OAAA4E,KAAAi9F,cAAAj9F,KAAAi9F,aAAA,EAAAj9F,KAAA5E,MAAAyyD,OAAA7tD,KAAAw6F,SAAAx6F,KAAAo7F,eAAAp7F,KAAAo7F,cAAA,KAAAp7F,KAAA5E,MAAAihF,aAAAr8E,KAAAoN,UAAA9R,OAAA0E,KAAA5E,OAAA4E,KAAAk9F,gBAAAl9F,KAAAk9F,eAAA,EAAAl9F,KAAA5E,MAAAyiF,eAAA79E,KAAAoN,YAAApN,KAAAuxC,QAAAiN,OAAAx+C,KAAA5E,OAAsT2jD,mBAAA/+C,KAAA++C,mBAAAJ,sBAAA3+C,KAAAm/C,uBAAAhG,SAAAn5C,KAAAm5C,SAAAC,QAAAp5C,KAAAo5C,UAAyIp5C,KAAAwkD,KAAA,UAAAxkD,KAAAw4C,WAAAx4C,KAAAsmD,UAAAtmD,KAAAsmD,SAAA,EAAAtmD,KAAAwkD,KAAA,SAAAxkD,KAAA+8F,SAAA,KAAA/8F,KAAAy2C,cAAAyhC,YAAAl4E,KAAAi9F,aAAA,IAAAj9F,KAAAk9F,eAAAl9F,KAAAo9F,UAAAp9F,KAAAi9F,cAAAj9F,KAAA0kD,YAAA1kD,MAA4O1D,EAAA3E,UAAAo4D,OAAA,WAA+B/vD,KAAAu6F,OAAAv6F,KAAAu6F,MAAAxqC,SAAAvwC,QAAAw9E,YAAAh9F,KAAA+8F,UAAA/8F,KAAApB,SAAA,UAAA,KAAAxF,SAAAA,OAAA41F,oBAAA,SAAAhvF,KAAAs6F,iBAAA,GAAAlhG,OAAA41F,oBAAA,SAAAhvF,KAAAq6F,iBAAA,GAA+O,IAAA96F,GAAAS,KAAAuxC,QAAArV,GAAAqhB,aAAA,qBAAyDh+C,IAAAA,EAAA89F,cAAAv2F,WAAA9G,KAAAy8F,kBAAA31F,WAAA9G,KAAA88F,mBAAA98F,KAAA6tF,WAAA7uF,UAAA+wD,OAAA,gBAAA/vD,KAAAwkD,KAAA,WAA6JloD,EAAA3E,UAAA+sD,UAAA,WAAkC1kD,KAAA5E,QAAA4E,KAAA+8F,WAAA/8F,KAAA+8F,SAAAv9E,QAAAsqC,MAAA9pD,KAAAm9F,WAAwE7gG,EAAA3E,UAAA0iG,gBAAA,WAAwCr6F,KAAAo6F,WAAe99F,EAAA3E,UAAA2iG,gBAAA,WAAwCt6F,KAAA+5F,cAAA/5F,KAAAwpF,OAAA5lF,SAAAw2F,WAAkDnjG,EAAA8nD,mBAAAznD,IAAA,WAAqC,QAAA0I,KAAAs9F,qBAAiCrmG,EAAA8nD,mBAAA5uC,IAAA,SAAA5Q,GAAsCS,KAAAs9F,sBAAA/9F,IAAAS,KAAAs9F,oBAAA/9F,EAAAS,KAAAo6F,YAA0EnjG,EAAAqhD,mBAAAhhD,IAAA,WAAqC,QAAA0I,KAAAu9F,qBAAiCtmG,EAAAqhD,mBAAAnoC,IAAA,SAAA5Q,GAAsCS,KAAAu9F,sBAAAh+F,IAAAS,KAAAu9F,oBAAAh+F,EAAAS,KAAA5E,MAAA0iF,mBAAuF7mF,EAAA0nD,sBAAArnD,IAAA,WAAwC,QAAA0I,KAAAm/C,wBAAoCloD,EAAA0nD,sBAAAxuC,IAAA,SAAA5Q,GAAyCS,KAAAm/C,yBAAA5/C,IAAAS,KAAAm/C,uBAAA5/C,EAAAS,KAAAo6F,YAAgFnjG,EAAA6jG,QAAAxjG,IAAA,WAA0B,QAAA0I,KAAAo9F,UAAsBnmG,EAAA6jG,QAAA3qF,IAAA,SAAA5Q,GAA2BS,KAAAo9F,SAAA79F,EAAAS,KAAAo6F,WAA+BnjG,EAAA2R,SAAAtR,IAAA,WAA2B,QAAA0I,KAAAw9F,WAAuBvmG,EAAA2R,SAAAuH,IAAA,SAAA5Q,GAA4BS,KAAAw9F,UAAAj+F,EAAAS,KAAAo6F,WAAgC99F,EAAA3E,UAAAijG,QAAA,SAAAr7F,GAAiCS,KAAAo6F,QAAA,UAAA76F,EAAAwmD,UAAA/lD,KAAAwkD,KAAAjlD,EAAAwmD,SAAA,OAAAxmD,IAAkEjD,EAAA3E,UAAAkjG,eAAA,SAAAt7F,GAAwCS,KAAAwkD,KAAAjlD,EAAAwmD,SAAA,cAAAxmD,IAAsCrI,OAAA6c,iBAAAzX,EAAA3E,UAAAV,GAAAqF,GAA0CwuF,OAASx0F,QAAAD,QAAA6E,MACl4gBmuD,iBAAA,GAAAkI,wBAAA,GAAAksC,mBAAA,GAAAC,oBAAA,GAAAC,0BAAA,IAAAC,iBAAA,IAAA51C,eAAA,IAAA1b,kBAAA,IAAA+9C,cAAA,IAAAz5D,eAAA,IAAAq0B,iBAAA,IAAA44C,kBAAA,IAAAC,WAAA,IAAAC,gCAAA,IAAAC,yBAAA,IAAAC,SAAA,IAAAC,sBAAA,GAAA50E,iBAAA,KAAkZ60E,KAAA,SAAAr+F,QAAAxJ,OAAAD,SACrZ,YAAa,IAAA2yF,KAAAlpF,QAAA,eAAAqjC,OAAArjC,QAAA,kBAAA6c,MAAA7c,QAAA,kBAAAs+F,UAAAt+F,QAAA,sBAAA6oC,OAAA,SAAAppC,EAAAjD,GAA6J0D,KAAAq+F,QAAA1hF,MAAA9R,QAAAvO,GAAAA,EAAAogC,SAAA,EAAA,IAAA18B,KAAAo6F,QAAAp6F,KAAAo6F,QAAA5mF,KAAAxT,MAAAA,KAAAs+F,YAAAt+F,KAAAs+F,YAAA9qF,KAAAxT,MAAAT,IAAAA,EAAAypF,IAAArnF,OAAA,QAAApC,EAAAP,UAAAC,IAAA,mBAAAe,KAAAu+F,SAAAh/F,EAAAS,KAAAw+F,OAAA,KAA+N71D,QAAAhxC,UAAAohG,MAAA,SAAAx5F,GAAmC,MAAAS,MAAA+vD,SAAA/vD,KAAA4tF,KAAAruF,EAAAA,EAAA6qF,qBAAAzuF,YAAAqE,KAAAu+F,UAAAh/F,EAAA1D,GAAA,OAAAmE,KAAAo6F,SAAA76F,EAAA1D,GAAA,UAAAmE,KAAAo6F,SAAAp6F,KAAAo6F,UAAAp6F,KAAA4tF,KAAA/xF,GAAA,QAAAmE,KAAAs+F,aAAAt+F,MAAqM2oC,OAAAhxC,UAAAo4D,OAAA,WAAoC,MAAA/vD,MAAA4tF,OAAA5tF,KAAA4tF,KAAA9tE,IAAA,QAAA9f,KAAAs+F,aAAAt+F,KAAA4tF,KAAA9tE,IAAA,OAAA9f,KAAAo6F,SAAAp6F,KAAA4tF,KAAA9tE,IAAA,UAAA9f,KAAAo6F,SAAAp6F,KAAA4tF,KAAA,MAAA5E,IAAAj5B,OAAA/vD,KAAAu+F,UAAAv+F,KAAAw+F,QAAAx+F,KAAAw+F,OAAAzuC,SAAA/vD,MAAqN2oC,OAAAhxC,UAAA8mG,UAAA,WAAuC,MAAAz+F,MAAA0+F,SAAoB/1D,OAAAhxC,UAAAgnG,UAAA,SAAAp/F,GAAwC,MAAAS,MAAA0+F,QAAAv7D,OAAAt4B,QAAAtL,GAAAS,KAAAi2F,KAAA,KAAAj2F,KAAAw+F,QAAAx+F,KAAAw+F,OAAAG,UAAA3+F,KAAA0+F,SAAA1+F,KAAAo6F,UAAAp6F,MAA0H2oC,OAAAhxC,UAAAinG,WAAA,WAAwC,MAAA5+F,MAAAu+F,UAAqB51D,OAAAhxC,UAAAknG,SAAA,SAAAt/F,GAAuC,MAAAS,MAAAw+F,SAAAx+F,KAAAw+F,OAAAzuC,SAAA/vD,KAAAw+F,OAAA,MAAAj/F,IAAAS,KAAAw+F,OAAAj/F,EAAAS,KAAAw+F,OAAAG,UAAA3+F,KAAA0+F,UAAA1+F,MAAwH2oC,OAAAhxC,UAAA2mG,YAAA,SAAA/+F,GAA0C,GAAAjD,GAAAiD,EAAA0qF,cAAAL,OAAA/xF,EAAAmI,KAAAu+F,QAA6Cv+F,MAAAw+F,SAAAliG,IAAAzE,GAAAA,EAAAszD,SAAA7uD,KAAA0D,KAAA8+F,eAAwDn2D,OAAAhxC,UAAAonG,SAAA,WAAsC,MAAA/+F,MAAAw+F,QAAmB71D,OAAAhxC,UAAAmnG,YAAA,WAAyC,GAAAv/F,GAAAS,KAAAw+F,MAAkBj/F,KAAAA,EAAAy/F,SAAAz/F,EAAAwwD,SAAAxwD,EAAAw5F,MAAA/4F,KAAA4tF,QAA8CjlD,OAAAhxC,UAAAyiG,QAAA,SAAA76F,GAAsCS,KAAA4tF,OAAA5tF,KAAA4tF,KAAAxgF,UAAAg4B,oBAAAplC,KAAA0+F,QAAAN,UAAAp+F,KAAA0+F,QAAA1+F,KAAAi2F,KAAAj2F,KAAA4tF,KAAAxgF,YAAApN,KAAAi2F,KAAAj2F,KAAA4tF,KAAA5iF,QAAAhL,KAAA0+F,SAAA7hF,KAAA7c,KAAAq+F,SAAA9+F,GAAA,YAAAA,EAAAlG,OAAA2G,KAAAi2F,KAAAj2F,KAAAi2F,KAAAtnF,SAAAq6E,IAAAqM,aAAAr1F,KAAAu+F,SAAA,aAAAv+F,KAAAi2F,KAAAr1F,EAAA,OAAAZ,KAAAi2F,KAAAz1F,EAAA,SAA6TlK,OAAAD,QAAAsyC,SACp7D0gB,iBAAA,GAAAghC,cAAA,IAAA4U,qBAAA,IAAA31E,iBAAA,KAAmF41E,KAAA,SAAAp/F,QAAAxJ,OAAAD,SACtF,YAAa,SAAA8oG,iBAAA5/F,GAA4B,GAAAA,EAAA,CAAM,GAAA,gBAAAA,GAAA,CAAuB,GAAAtI,GAAAiJ,KAAAyO,MAAAzO,KAAA2R,KAAA,GAAA3R,KAAA+F,IAAA1G,EAAA,IAA8C,QAAO6sE,IAAA,GAAAzvD,OAAA,EAAApd,GAAA+sE,WAAA,GAAA3vD,OAAA1lB,EAAAA,GAAAs1E,YAAA,GAAA5vD,QAAA1lB,EAAAA,GAAAo1E,OAAA,GAAA1vD,OAAA,GAAApd,GAAAitE,cAAA,GAAA7vD,OAAA1lB,GAAAA,GAAAw1E,eAAA,GAAA9vD,QAAA1lB,GAAAA,GAAAg1E,KAAA,GAAAtvD,OAAApd,EAAA,GAAA2sE,MAAA,GAAAvvD,QAAApd,EAAA,IAAyM,GAAA6/F,YAAA7/F,GAAA,CAAmB,GAAAjD,GAAAqgB,MAAA9R,QAAAtL,EAAuB,QAAO6sE,IAAA9vE,EAAAgwE,WAAAhwE,EAAAiwE,YAAAjwE,EAAA+vE,OAAA/vE,EAAAkwE,cAAAlwE,EAAAmwE,eAAAnwE,EAAA2vE,KAAA3vE,EAAA4vE,MAAA5vE,GAA2F,OAAO8vE,IAAAzvD,MAAA9R,QAAAtL,EAAA6sE,MAAA,EAAA,IAAAE,WAAA3vD,MAAA9R,QAAAtL,EAAA,cAAA,EAAA,IAAAgtE,YAAA5vD,MAAA9R,QAAAtL,EAAA,eAAA,EAAA,IAAA8sE,OAAA1vD,MAAA9R,QAAAtL,EAAA8sE,SAAA,EAAA,IAAAG,cAAA7vD,MAAA9R,QAAAtL,EAAA,iBAAA,EAAA,IAAAktE,eAAA9vD,MAAA9R,QAAAtL,EAAA,kBAAA,EAAA,IAAA0sE,KAAAtvD,MAAA9R,QAAAtL,EAAA0sE,OAAA,EAAA,IAAAC,MAAAvvD,MAAA9R,QAAAtL,EAAA2sE,QAAA,EAAA,KAAyV,MAAAizB,iBAAA,GAAAxiF,OAAA,EAAA,IAAuC,QAAAyiF,aAAA7/F,GAAwB,MAAAA,aAAAod,QAAA5M,MAAAuD,QAAA/T,GAA4C,GAAAuwB,MAAAhwB,QAAA,gBAAA+oC,QAAA/oC,QAAA,mBAAAkpF,IAAAlpF,QAAA,eAAAqjC,OAAArjC,QAAA,kBAAA6c,MAAA7c,QAAA,kBAAA1G,OAAA0G,QAAA,kBAAAs+F,UAAAt+F,QAAA,sBAAAy5F,gBAAyP8F,aAAA,EAAAC,cAAA,GAA+B52D,MAAA,SAAAnpC,GAAmB,QAAAtI,GAAAA,GAAcsI,EAAA7I,KAAAsJ,MAAAA,KAAA4L,QAAAkkB,KAAA1yB,OAAAlG,OAAAyK,OAAA43F,gBAAAtiG,GAAA64B,KAAA68B,SAAA,UAAA,iBAAA3sD,MAAsH,MAAAT,KAAAtI,EAAAu6B,UAAAjyB,GAAAtI,EAAAU,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAAV,EAAAU,UAAAgrB,YAAA1rB,EAAAA,EAAAU,UAAAohG,MAAA,SAAAx5F,GAA4H,MAAAS,MAAA4tF,KAAAruF,EAAAS,KAAA4tF,KAAA/xF,GAAA,OAAAmE,KAAAo6F,SAAAp6F,KAAA4L,QAAA0zF,cAAAt/F,KAAA4tF,KAAA/xF,GAAA,QAAAmE,KAAAu/F,eAAAv/F,KAAAo6F,UAAAp6F,MAA6I/I,EAAAU,UAAAqnG,OAAA,WAA+B,QAAAh/F,KAAA4tF,MAAkB32F,EAAAU,UAAAo4D,OAAA,WAA+B,MAAA/vD,MAAAw/F,UAAAx/F,KAAAw/F,SAAA3V,YAAA7pF,KAAAw/F,SAAA3V,WAAAqE,YAAAluF,KAAAw/F,UAAAx/F,KAAA6tF,aAAA7tF,KAAA6tF,WAAAhE,WAAAqE,YAAAluF,KAAA6tF,kBAAA7tF,MAAA6tF,YAAA7tF,KAAA4tF,OAAA5tF,KAAA4tF,KAAA9tE,IAAA,OAAA9f,KAAAo6F,SAAAp6F,KAAA4tF,KAAA9tE,IAAA,QAAA9f,KAAAu/F,qBAAAv/F,MAAA4tF,MAAA5tF,KAAAwkD,KAAA,SAAAxkD,MAAyU/I,EAAAU,UAAA8mG,UAAA,WAAkC,MAAAz+F,MAAA0+F,SAAoBznG,EAAAU,UAAAgnG,UAAA,SAAAp/F,GAAmC,MAAAS,MAAA0+F,QAAAv7D,OAAAt4B,QAAAtL,GAAAS,KAAAi2F,KAAA,KAAAj2F,KAAAo6F,UAAAp6F,MAAyE/I,EAAAU,UAAA8nG,QAAA,SAAAlgG,GAAiC,MAAAS,MAAA0/F,cAAAtmG,OAAAoF,SAAAM,eAAAS,KAA6DtI,EAAAU,UAAAgoG,QAAA,SAAApgG,GAAiC,GAAAtI,GAAAqF,EAAAlD,OAAAoF,SAAAohG,yBAAAroG,EAAA6B,OAAAoF,SAAAC,cAAA,OAAyF,KAAAlH,EAAA82F,UAAA9uF,EAAqBtI,EAAAM,EAAA0jG,YAA2B3+F,EAAAX,YAAA1E,EAAiB,OAAA+I,MAAA0/F,cAAApjG,IAA6BrF,EAAAU,UAAA+nG,cAAA,SAAAngG,GAAuC,MAAAS,MAAA6/F,iBAAA7/F,KAAAw/F,SAAA7jG,YAAA4D,GAAAS,KAAAo6F,UAAAp6F,MAA8E/I,EAAAU,UAAAkoG,eAAA,WAAuC7/F,KAAAw/F,UAAAx/F,KAAAw/F,SAAA3V,YAAA7pF,KAAAw/F,SAAA3V,WAAAqE,YAAAluF,KAAAw/F,UAAAx/F,KAAAw/F,SAAAxW,IAAArnF,OAAA,MAAA,yBAAA3B,KAAA6tF,YAAA7tF,KAAA4L,QAAAyzF,cAAAr/F,KAAA8/F,aAAA9W,IAAArnF,OAAA,SAAA,8BAAA3B,KAAAw/F,UAAAx/F,KAAA8/F,aAAAzmG,KAAA,SAAA2G,KAAA8/F,aAAAzR,UAAA,SAAuVruF,KAAA8/F,aAAAnhG,iBAAA,QAAAqB,KAAAu/F,iBAAkEtoG,EAAAU,UAAAyiG,QAAA,WAAgC,GAAAp6F,KAAA4tF,MAAA5tF,KAAA0+F,SAAA1+F,KAAAw/F,SAAA,CAA2Cx/F,KAAA6tF,aAAA7tF,KAAA6tF,WAAA7E,IAAArnF,OAAA,MAAA,iBAAA3B,KAAA4tF,KAAAkB,gBAAA9uF,KAAA+/F,KAAA/W,IAAArnF,OAAA,MAAA,qBAAA3B,KAAA6tF,YAAA7tF,KAAA6tF,WAAAlyF,YAAAqE,KAAAw/F,WAAAx/F,KAAA4tF,KAAAxgF,UAAAg4B,oBAAAplC,KAAA0+F,QAAAN,UAAAp+F,KAAA0+F,QAAA1+F,KAAAi2F,KAAAj2F,KAAA4tF,KAAAxgF,YAAApN,KAAAi2F,KAAAj2F,KAAA4tF,KAAA5iF,QAAAhL,KAAA0+F,QAAiW,IAAAn/F,GAAAS,KAAA4L,QAAAusB,OAAAlhC,EAAAkoG,gBAAAn/F,KAAA4L,QAAA8wB,OAAiE,KAAAn9B,EAAA,CAAO,GAAAjD,GAAA0D,KAAA6tF,WAAAS,YAAA/2F,EAAAyI,KAAA6tF,WAAA8O,YAAiEp9F,GAAAS,KAAAi2F,KAAAz1F,EAAAvJ,EAAAo1E,OAAA7rE,EAAAjJ,GAAA,OAAAyI,KAAAi2F,KAAAz1F,EAAAR,KAAA4tF,KAAAxgF,UAAA5J,OAAAjM,GAAA,aAAAyI,KAAAi2F,KAAAr1F,EAAAtE,EAAA,EAAAiD,EAAA3E,KAAA,QAAAoF,KAAAi2F,KAAAr1F,EAAAZ,KAAA4tF,KAAAxgF,UAAA7J,MAAAjH,EAAA,GAAAiD,EAAA3E,KAAA,SAAA2E,EAAA,IAAAA,EAAA5G,OAAA,SAAA4G,EAAAtB,KAAA,KAAwN,GAAA1H,GAAAyJ,KAAAi2F,KAAAh3F,IAAAhI,EAAAsI,IAAAoP,QAAAnP,GAAqC4sE,IAAA,oBAAAE,WAAA,iBAAAC,YAAA,qBAAAF,OAAA,wBAAAG,cAAA,qBAAAC,eAAA,yBAAAR,KAAA,oBAAAC,MAAA,yBAAsPp0E,EAAAkI,KAAA6tF,WAAA7uF,SAA6B,KAAA,GAAAnH,KAAA2H,GAAA1H,EAAAi4D,OAAA,yBAAAl4D,EAAoDC,GAAAmH,IAAA,yBAAAM,GAAAypF,IAAAqM,aAAAr1F,KAAA6tF,WAAAruF,EAAAD,GAAA,cAAAhJ,EAAAqK,EAAA,MAAArK,EAAAiK,EAAA,SAA4GvJ,EAAAU,UAAA4nG,cAAA,WAAsCv/F,KAAA+vD,UAAc94D,GAAG4xC,QAAUvyC,QAAAD,QAAAqyC,QAC5xI2gB,iBAAA,GAAAghC,cAAA,IAAApjC,kBAAA,IAAAg4C,qBAAA,IAAAruE,eAAA,IAAAq0B,iBAAA,IAAA37B,iBAAA,KAAiJ02E,KAAA,SAAAlgG,QAAAxJ,OAAAD,SACpJ,YAAa,IAAAk9D,OAAA,SAAAh0D,EAAAjD,EAAAoD,GAA0BM,KAAA4pF,OAAArqF,EAAAS,KAAAgvD,OAAA1yD,EAAA0D,KAAAigG,MAAAvgG,EAAAM,KAAAkgG,aAA0DlgG,KAAAmgG,WAAA,EAAAngG,KAAAogG,QAAApgG,KAAAogG,QAAA5sF,KAAAxT,MAAAA,KAAA4pF,OAAAjrF,iBAAA,UAAAqB,KAAAogG,SAAA,GAAiH7sC,OAAA57D,UAAA0uD,KAAA,SAAA9mD,EAAAjD,EAAAoD,EAAAF,EAAA1H,GAAyC,GAAAvB,GAAAmJ,EAAAM,KAAAigG,MAAA,IAAAjgG,KAAAmgG,aAAA,IAA8CzgG,KAAAM,KAAAkgG,UAAA3pG,GAAAmJ,GAAAM,KAAA4pF,OAAAyW,aAAkDC,YAAAxoG,EAAAyoG,YAAAvgG,KAAAigG,MAAA5mG,KAAAkG,EAAArG,GAAAse,OAAAjhB,GAAA4C,KAAAmD,GAAgEkD,IAAI+zD,MAAA57D,UAAAyoG,QAAA,SAAA7gG,GAAqC,GAAAjD,GAAAoD,EAAAM,KAAAR,EAAAD,EAAApG,KAAArB,EAAA0H,EAAAtG,EAA6B,KAAAsG,EAAA8gG,aAAAtgG,KAAAigG,QAAAzgG,EAAA8gG,YAAA,CAA+C,GAAA/pG,GAAA,SAAAgJ,EAAAjD,EAAAkD,GAAsBE,EAAAkqF,OAAAyW,aAAsBE,YAAA7gG,EAAAugG,MAAA5mG,KAAA,aAAAH,GAAAse,OAAA1f,GAAAouB,MAAA3mB,EAAAiY,OAAAjY,GAAA,KAAApG,KAAAmD,GAAiFkD,GAAK,IAAA,eAAAA,EAAAnG,KAAAiD,EAAA0D,KAAAkgG,UAAA1gG,EAAAtG,UAAA8G,MAAAkgG,UAAA1gG,EAAAtG,IAAAoD,GAAAA,EAAAkD,EAAA0mB,OAAA,KAAA1mB,EAAArG,UAAuG,QAAA,KAAAqG,EAAAtG,IAAA8G,KAAAgvD,OAAAxvD,EAAAnG,MAAA2G,KAAAgvD,OAAAxvD,EAAAnG,MAAAmG,EAAA+gG,YAAA/gG,EAAArG,KAAA5C,OAAkG,QAAA,KAAAiJ,EAAAtG,IAAA8G,KAAAgvD,OAAAsF,gBAAA,CAA+D,GAAAz8D,GAAA2H,EAAAnG,KAAAjB,MAAA,IAAA4H,MAAAgvD,OAAAsF,gBAAA90D,EAAA+gG,YAAA1oG,EAAA,IAA0EA,EAAA,IAAA2H,EAAArG,KAAA5C,OAAkByJ,MAAAgvD,OAAAxvD,EAAAnG,MAAAmG,EAAArG,QAAkCo6D,MAAA57D,UAAAo4D,OAAA,WAAmC/vD,KAAA4pF,OAAAoF,oBAAA,UAAAhvF,KAAAogG,SAAA,IAA2D9pG,OAAAD,QAAAk9D,WAClnCitC,KAAA,SAAA1gG,QAAAxJ,OAAAD,SACJ,YAAa,SAAAoqG,YAAAnkG,GAAuB,GAAAiD,GAAAnG,OAAAoF,SAAAC,cAAA,IAAyC,OAAAc,GAAA8lD,KAAA/oD,EAAAiD,EAAAmhG,WAAAtnG,OAAAoF,SAAA9D,SAAAgmG,UAAAnhG,EAAAohG,OAAAvnG,OAAAoF,SAAA9D,SAAAimG,KAAuG,GAAAvnG,QAAA0G,QAAA,YAAA8gG,UAAA,SAAAtkG,GAAqD,QAAAiD,GAAAA,EAAAC,GAAgBlD,EAAA5F,KAAAsJ,KAAAT,GAAAS,KAAA2uD,OAAAnvD,EAA6B,MAAAlD,KAAAiD,EAAAiyB,UAAAl1B,GAAAiD,EAAA5H,UAAAT,OAAAyK,OAAArF,GAAAA,EAAA3E,WAAA4H,EAAA5H,UAAAgrB,YAAApjB,EAAAA,GAAgGI,MAAQtJ,SAAAwxD,QAAA,SAAAvrD,EAAAiD,GAA8B,GAAAC,GAAA,GAAApG,QAAAynG,cAAgC,OAAArhG,GAAAshG,KAAA,MAAAxkG,GAAA,GAAAkD,EAAAuhG,iBAAA,SAAA,oBAAAvhG,EAAAwhG,QAAA,SAAA1kG,GAAgGiD,EAAAjD,IAAKkD,EAAAyhG,OAAA,WAAqB,GAAAzhG,EAAAmvD,QAAA,KAAAnvD,EAAAmvD,OAAA,KAAAnvD,EAAA0hG,SAAA,CAA4C,GAAA5kG,EAAM,KAAIA,EAAAyQ,KAAA+6C,MAAAtoD,EAAA0hG,UAAyB,MAAA5kG,GAAS,MAAAiD,GAAAjD,GAAYiD,EAAA,KAAAjD,OAAUiD,GAAA,GAAAqhG,WAAAphG,EAAA2hG,WAAA3hG,EAAAmvD,UAA6CnvD,EAAA6mD,OAAA7mD,GAAYnJ,QAAAg2D,eAAA,SAAA/vD,EAAAiD,GAAsC,GAAAC,GAAA,GAAApG,QAAAynG,cAAgC,OAAArhG,GAAAshG,KAAA,MAAAxkG,GAAA,GAAAkD,EAAA4hG,aAAA,cAAA5hG,EAAAwhG,QAAA,SAAA1kG,GAA6EiD,EAAAjD,IAAKkD,EAAAyhG,OAAA,WAAqB,MAAA,KAAAzhG,EAAA0hG,SAAAxpF,YAAA,MAAAlY,EAAAmvD,OAAApvD,EAAA,GAAAI,OAAA,mDAAAH,EAAAmvD,QAAA,KAAAnvD,EAAAmvD,OAAA,KAAAnvD,EAAA0hG,SAAA3hG,EAAA,MAAgKpG,KAAAqG,EAAA0hG,SAAA51C,aAAA9rD,EAAA6hG,kBAAA,iBAAA91C,QAAA/rD,EAAA6hG,kBAAA,aAAyG9hG,EAAA,GAAAqhG,WAAAphG,EAAA2hG,WAAA3hG,EAAAmvD,WAA2CnvD,EAAA6mD,OAAA7mD,EAAwJnJ,SAAAmyD,SAAA,SAAAlsD,EAAAiD,GAA+B,MAAAlJ,SAAAg2D,eAAA/vD,EAAA,SAAAA,EAAAkD,GAA8C,GAAAlD,EAAA,MAAAiD,GAAAjD,EAAiB,IAAA/E,GAAA,GAAA6B,QAAAkoG,MAAArqG,EAAAmC,OAAAqzB,KAAArzB,OAAAszB,SAAsDn1B,GAAA0pG,OAAA,WAAoB1hG,EAAA,KAAAhI,GAAAN,EAAAsqG,gBAAAhqG,EAAAiqG,KAAoC,IAAA1pG,GAAA,GAAAsB,QAAAyzB,MAAA,GAAAxW,YAAA7W,EAAArG,QAAgDE,KAAA,aAAmB9B,GAAA+zD,aAAA9rD,EAAA8rD,aAAA/zD,EAAAg0D,QAAA/rD,EAAA+rD,QAAAh0D,EAAAiqG,IAAAhiG,EAAArG,KAAAue,WAAAzgB,EAAA81B,gBAAAj1B,GAA1Z,wHAA6gBzB,QAAA88D,SAAA,SAAA72D,EAAAiD,GAAgC,GAAAC,GAAApG,OAAAoF,SAAAC,cAAA,QAA6Ce,GAAAiiG,YAAA,WAAyBliG,EAAA,KAAAC,GAAW,KAAA,GAAAjI,GAAA,EAAYA,EAAA+E,EAAA3D,OAAWpB,IAAA,CAAK,GAAAN,GAAAmC,OAAAoF,SAAAC,cAAA,SAA8CgiG,YAAAnkG,EAAA/E,MAAAiI,EAAAkiG,YAAA,aAAAzqG,EAAAuqG,IAAAllG,EAAA/E,GAAAiI,EAAA7D,YAAA1E,GAA0E,MAAAuI,MAC19DmiG,WAAA,MAAeC,KAAA,SAAA9hG,QAAAxJ,OAAAD,SAClB,YAAa,IAAA+C,QAAA0G,QAAA,WAA+BxJ,QAAAD,QAAAyrB,IAAA,WAA8B,MAAA1oB,QAAAyoG,aAAAzoG,OAAAyoG,YAAA//E,IAAA1oB,OAAAyoG,YAAA//E,IAAAtO,KAAApa,OAAAyoG,aAAAhgF,KAAAC,IAAAtO,KAAAqO,QAAyH,IAAAioC,OAAA1wD,OAAA0oG,uBAAA1oG,OAAA2oG,0BAAA3oG,OAAA4oG,6BAAA5oG,OAAA6oG,uBAA4I5rG,SAAAyzD,MAAA,SAAAxtD,GAA0B,MAAAwtD,OAAAxtD,GAAiB,IAAAsoD,QAAAxrD,OAAA8oG,sBAAA9oG,OAAA+oG,yBAAA/oG,OAAAgpG,4BAAAhpG,OAAAipG,sBAAyIhsG,SAAA2mG,YAAA,SAAA1gG,GAAgCsoD,OAAAtoD,IAAUjG,QAAAg3F,MAAA,SAAA/wF,EAAA/E,EAAAgI,GAA+B,QAAAtI,GAAAV,GAAciJ,IAAAjJ,EAAAD,OAAAD,QAAAyrB,MAAAvrB,GAAAmJ,EAAAnI,EAAA+E,EAAA5F,KAAA6I,EAAA,IAAAjD,EAAA5F,KAAA6I,GAAAhJ,EAAAmJ,GAAAnI,GAAAlB,QAAAyzD,MAAA7yD,KAAoF,IAAAM,EAAA,MAAA+E,GAAA5F,KAAA6I,EAAA,GAAA,IAA8B,IAAAC,IAAA,EAAAE,EAAApJ,OAAAD,QAAAyrB,KAAgC,OAAAzrB,SAAAyzD,MAAA7yD,GAAA,WAAmCuI,GAAA,IAAMnJ,QAAAoiF,aAAA,SAAAn8E,GAAkC,GAAA/E,GAAA6B,OAAAoF,SAAAC,cAAA,UAAAc,EAAAhI,EAAAid,WAAA,KAAmE,OAAAjd,GAAAgM,MAAAjH,EAAAiH,MAAAhM,EAAAiM,OAAAlH,EAAAkH,OAAAjE,EAAA+iG,UAAAhmG,EAAA,EAAA,EAAAA,EAAAiH,MAAAjH,EAAAkH,QAAAjE,EAAAk5E,aAAA,EAAA,EAAAn8E,EAAAiH,MAAAjH,EAAAkH,QAAArK,MAAuH9C,QAAAqe,UAAA5U,QAAA,uBAAAzJ,QAAAgyC,oBAAAjvC,OAAA+2F,UAAA9nD,qBAAA,EAAAnxC,OAAAC,eAAAd,QAAA,oBAAwKiB,IAAA,WAAe,MAAA8B,QAAA4yC,oBAAgC31C,QAAAksG,cAAA,CAA0B,IAAAC,aAAAppG,OAAAoF,SAAAC,cAAA,MAAqD+jG,aAAAvB,OAAA,WAA8B5qG,QAAAksG,cAAA,GAAwBC,YAAAhB,IAAA,gFAC10CG,WAAA,IAAAzD,sBAAA,KAAwCuE,KAAA,SAAA3iG,QAAAxJ,OAAAD,SAC3C,YAAa,IAAAqsG,YAAA5iG,QAAA,cAAA1G,OAAA0G,QAAA,aAAA6iG,UAAAvpG,OAAAqzB,IAAAM,gBAAA,GAAA21E,YAAA5iG,QAAA,wBAAqJgtB,MAAA,IAAWx2B,QAAAD,QAAA,WAA0B,MAAA,IAAA+C,QAAA4zB,OAAA21E,cACpMC,sBAAA,IAAAC,YAAA,IAAAC,WAAA,KAA0DC,KAAA,SAAAjjG,QAAAxJ,OAAAD,SAC7D,YAAaC,QAAAD,QAAAmmB,UACTwmF,KAAA,SAAAljG,QAAAxJ,OAAAD,SACJ,YAAa,SAAA4sG,cAAA3mG,EAAAkD,GAA2B,MAAAA,GAAAyH,KAAA3K,EAAA2K,KAAqB,GAAAi8F,aAAApjG,QAAA,eAAAqjG,oBAAArjG,QAAA,UAAAqjG,mBAAiG7sG,QAAAD,QAAA,SAAAiG,EAAAkD,GAA6B,GAAAE,GAAApD,EAAA3D,MAAe,IAAA+G,GAAA,EAAA,OAAApD,EAAkB,KAAA,GAAAiD,GAAAE,EAAA7I,KAAAL,EAAA,EAAqBA,EAAAmJ,EAAInJ,IAAA,CAAK,GAAAC,GAAA2sG,oBAAA7mG,EAAA/F,GAAgC,KAAAC,IAAA8F,EAAA/F,GAAA0Q,KAAA/G,KAAAsF,IAAAhP,OAAA,KAAAiJ,IAAAA,EAAAjJ,EAAA,GAAAiJ,IAAAjJ,EAAA,GAAA+I,GAAA3I,EAAAgE,KAAA2E,GAAAA,GAAAjD,EAAA/F,KAAAgJ,EAAA3E,KAAA0B,EAAA/F,KAAgG,GAAAgJ,GAAA3I,EAAAgE,KAAA2E,GAAAC,EAAA,EAAA,IAAA,GAAAjI,GAAA,EAAgCA,EAAAX,EAAA+B,OAAWpB,IAAAX,EAAAW,GAAAoB,QAAA6G,IAAA0jG,YAAAtsG,EAAAW,GAAAiI,EAAA,EAAA5I,EAAAW,GAAAoB,OAAA,EAAAsqG,cAAArsG,EAAAW,GAAAX,EAAAW,GAAAwG,MAAA,EAAAyB,GAA4F,OAAA5I,MAC9fwsG,SAAA,IAAAF,YAAA,KAA8BG,KAAA,SAAAvjG,QAAAxJ,OAAAD,SACjC,YAAa,IAAAyyC,SAAYw6D,QAAA,yBAAAC,sBAAA,EAAAt6D,aAAA,KAA4E3yC,QAAAD,QAAAyyC,YACjG06D,KAAA,SAAA1jG,QAAAxJ,OAAAD,SACJ,YAAa,IAAA6nC,iBAAA,SAAA1+B,GAAgC,GAAAD,GAAAS,IAAWA,MAAAyjG,mBAAuBzjG,KAAA0jG,kBAAyB,KAAA,GAAAzsG,GAAA,EAAYA,EAAAuI,EAAA7G,OAAW1B,IAAA,CAAK,GAAAV,GAAAiJ,EAAAvI,EAAWsI,GAAAkkG,gBAAAltG,GAAAU,EAAAsI,EAAAmkG,gBAAAzsG,GAAAV,GAAgD2nC,iBAAAvmC,UAAAw9D,OAAA,SAAA31D,GAA6C,MAAAQ,MAAAyjG,gBAAAjkG,IAA+B0+B,gBAAAvmC,UAAAooC,OAAA,SAAAvgC,GAA8C,MAAAQ,MAAA0jG,gBAAAlkG,IAA+BlJ,OAAAD,QAAA6nC,qBACpVylE,KAAA,SAAA7jG,QAAAxJ,OAAAD,SACJ,YAAa,IAAAy5B,MAAAhwB,QAAA,UAAAyzD,MAAAzzD,QAAA,WAAA+6E,WAAA,SAAAt7E,EAAAC,GAA6E,GAAAvI,GAAA+I,IAAWA,MAAA4jG,WAAArkG,EAAAS,KAAA6jG,UAAA7jG,KAAA8jG,aAAA,EAAA9jG,KAAA9G,GAAA42B,KAAAygC,UAA6E,KAAA,GAAAh6D,GAAAyJ,KAAA4jG,WAAAG,QAAA/jG,KAAA9G,IAAAoD,EAAA,EAA+CA,EAAA/F,EAAAoC,OAAW2D,IAAA,CAAK,GAAAxE,GAAAvB,EAAA+F,GAAA1F,EAAA,GAAA28D,OAAAz7D,EAAA0H,EAAAvI,EAAAiC,GAAiCtC,GAAAG,KAAA,UAAAuF,EAAArF,EAAA4sG,OAAAjpG,KAAAhE,IAAsCikF,YAAAljF,UAAAqvD,UAAA,SAAAznD,EAAAC,EAAAvI,GAA+CA,EAAAA,GAAA,aAAiB64B,KAAAk0E,SAAAhkG,KAAA6jG,OAAA,SAAA5sG,EAAAV,GAAyCU,EAAAovD,KAAA9mD,EAAAC,EAAAjJ,IAAcU,IAAI4jF,WAAAljF,UAAA0uD,KAAA,SAAA9mD,EAAAC,EAAAvI,EAAAV,EAAA+F,GAA+C,OAAA,gBAAA/F,IAAAka,MAAAla,MAAAA,EAAAyJ,KAAA8jG,cAAA9jG,KAAA8jG,aAAA,GAAA9jG,KAAA6jG,OAAAlrG,QAAAqH,KAAA6jG,OAAAttG,GAAA8vD,KAAA9mD,EAAAC,EAAAvI,EAAAqF,GAAA/F,GAAoIskF,WAAAljF,UAAAo4D,OAAA,WAAwC/vD,KAAA6jG,OAAA7wF,QAAA,SAAAzT,GAAgCA,EAAAwwD,WAAW/vD,KAAA6jG,UAAA7jG,KAAA4jG,WAAAK,QAAAjkG,KAAA9G,KAAkD5C,OAAAD,QAAAwkF,aACxuBqpB,UAAA,IAAAd,SAAA,MAA2Be,KAAA,SAAArkG,QAAAxJ,OAAAD,SAC9B,YAAa,SAAA+tG,UAAA9nG,GAAqB,IAAA,GAAAiD,GAAA,EAAYA,EAAAjD,EAAA3D,OAAW4G,IAAA,GAAAjD,EAAAiD,IAAA8kG,UAAA,MAAA/nG,GAAAiD,EAAmC,OAAAjD,GAAA,GAAY,QAAAgoG,eAAAhoG,GAA0BA,EAAAytF,iBAAAztF,EAAAu3F,kBAAAz6F,OAAA41F,oBAAA,QAAAsV,eAAA,GAA4F,GAAA3nF,OAAA7c,QAAA,kBAAA1G,OAAA0G,QAAA,WAA+DzJ,SAAAsL,OAAA,SAAArF,EAAAiD,EAAAtI,GAA+B,GAAAM,GAAA6B,OAAAoF,SAAAC,cAAAnC,EAAuC,OAAAiD,KAAAhI,EAAAm5F,UAAAnxF,GAAAtI,GAAAA,EAAA0E,YAAApE,GAAAA,EAAiD,IAAAgtG,YAAAF,SAAAjrG,OAAAoF,SAAAgmG,gBAAAppG,MAAAqpG,WAAAL,UAAA,aAAA,gBAAA,mBAAA,gBAAoJ/tG,SAAAs9F,YAAA,WAA+B8Q,aAAAF,WAAAF,SAAAI,YAAAJ,SAAAI,YAAA,SAA0EpuG,QAAAy9F,WAAA,WAA+B2Q,aAAAJ,SAAAI,YAAAF,YAA+C,IAAAG,eAAAN,UAAA,YAAA,mBAA4D/tG,SAAAg/F,aAAA,SAAA/4F,EAAAiD,GAAmCjD,EAAAlB,MAAAspG,eAAAnlG,GAAyBlJ,QAAAiuG,cAAA,WAAkClrG,OAAAuF,iBAAA,QAAA2lG,eAAA,GAAAlrG,OAAAmlB,WAAA,WAA+EnlB,OAAA41F,oBAAA,QAAAsV,eAAA,IAAqD,IAAIjuG,QAAAozF,SAAA,SAAAntF,EAAAiD,GAAgC,GAAAtI,GAAAqF,EAAAqoG,uBAAgC,OAAAplG,GAAAA,EAAAuqF,QAAAvqF,EAAAuqF,QAAA,GAAAvqF,EAAA,GAAAod,OAAApd,EAAAkzF,QAAAx7F,EAAAg1E,KAAA3vE,EAAAsoG,WAAArlG,EAAAmzF,QAAAz7F,EAAAm1E,IAAA9vE,EAAAuoG,YAAuGxuG,QAAA6zF,SAAA,SAAA5tF,EAAAiD,GAAgC,IAAA,GAAAtI,GAAAqF,EAAAqoG,wBAAAptG,KAAAiI,EAAA,aAAAD,EAAAlG,KAAAkG,EAAAulG,eAAAvlG,EAAAuqF,QAAAhyF,EAAA,EAA8FA,EAAA0H,EAAA7G,OAAWb,IAAAP,EAAAqD,KAAA,GAAA+hB,OAAAnd,EAAA1H,GAAA26F,QAAAx7F,EAAAg1E,KAAA3vE,EAAAsoG,WAAAplG,EAAA1H,GAAA46F,QAAAz7F,EAAAm1E,IAAA9vE,EAAAuoG,WAAuF,OAAAttG,IAASlB,QAAA05D,OAAA,SAAAzzD,GAA4BA,EAAAutF,YAAAvtF,EAAAutF,WAAAqE,YAAA5xF,MAC16CqlG,WAAA,IAAAr4E,iBAAA,KAAmCy7E,KAAA,SAAAjlG,QAAAxJ,OAAAD,SACtC,YAAa,SAAA2uG,mBAAA1oG,EAAAiD,EAAAhI,GAAkCA,EAAA+E,GAAA/E,EAAA+E,OAAA/E,EAAA+E,GAAA1B,KAAA2E,GAA2B,QAAA0lG,sBAAA3oG,EAAAiD,EAAAhI,GAAqC,GAAAA,GAAAA,EAAA+E,GAAA,CAAY,GAAA/F,GAAAgB,EAAA+E,GAAA2W,QAAA1T,IAAsB,IAAAhJ,GAAAgB,EAAA+E,GAAA8H,OAAA7N,EAAA,IAA0B,GAAAu5B,MAAAhwB,QAAA,UAAA+oC,QAAA,YAAgDA,SAAAlxC,UAAAkE,GAAA,SAAAS,EAAAiD,GAAmC,MAAAS,MAAAklG,WAAAllG,KAAAklG,eAA0CF,kBAAA1oG,EAAAiD,EAAAS,KAAAklG,YAAAllG,MAA6C6oC,QAAAlxC,UAAAmoB,IAAA,SAAAxjB,EAAAiD,GAAqC,MAAA0lG,sBAAA3oG,EAAAiD,EAAAS,KAAAklG,YAAAD,qBAAA3oG,EAAAiD,EAAAS,KAAAmlG,mBAAAnlG,MAAuG6oC,QAAAlxC,UAAAkoB,KAAA,SAAAvjB,EAAAiD,GAAsC,MAAAS,MAAAmlG,kBAAAnlG,KAAAmlG,sBAAwDH,kBAAA1oG,EAAAiD,EAAAS,KAAAmlG,mBAAAnlG,MAAoD6oC,QAAAlxC,UAAA6sD,KAAA,SAAAloD,EAAAiD,GAAsC,GAAAhI,GAAAyI,IAAW,IAAAA,KAAAolG,QAAA9oG,GAAA,CAAoBiD,EAAAuwB,KAAA1yB,UAAgBmC,GAAIlG,KAAAiD,EAAAstF,OAAA5pF,MAAqB,KAAA,GAAAzJ,GAAAyJ,KAAAklG,YAAAllG,KAAAklG,WAAA5oG,GAAA0D,KAAAklG,WAAA5oG,GAAAyB,WAAAjG,EAAA,EAAgFA,EAAAvB,EAAAoC,OAAWb,IAAAvB,EAAAuB,GAAApB,KAAAa,EAAAgI,EAAmB,KAAA,GAAAC,GAAAQ,KAAAmlG,mBAAAnlG,KAAAmlG,kBAAA7oG,GAAA0D,KAAAmlG,kBAAA7oG,GAAAyB,WAAA9G,EAAA,EAAqGA,EAAAuI,EAAA7G,OAAW1B,IAAAuI,EAAAvI,GAAAP,KAAAa,EAAAgI,GAAA0lG,qBAAA3oG,EAAAkD,EAAAvI,GAAAM,EAAA4tG,kBAAoEnlG,MAAAqlG,gBAAArlG,KAAAqlG,eAAA7gD,KAAAloD,EAAAwzB,KAAA1yB,UAA8DmC,EAAA,kBAAAS,MAAAslG,mBAAAtlG,KAAAslG,qBAAAtlG,KAAAslG,yBAAkGx1E,MAAA0pD,SAAAl9E,EAAA,UAAAwP,QAAAoa,MAAA3mB,GAAAA,EAAA2mB,OAAA3mB,GAAA,oBAAiF,OAAAS,OAAY6oC,QAAAlxC,UAAAytG,QAAA,SAAA9oG,GAAuC,MAAA0D,MAAAklG,YAAAllG,KAAAklG,WAAA5oG,IAAA0D,KAAAklG,WAAA5oG,GAAA3D,OAAA,GAAAqH,KAAAmlG,mBAAAnlG,KAAAmlG,kBAAA7oG,IAAA0D,KAAAmlG,kBAAA7oG,GAAA3D,OAAA,GAAAqH,KAAAqlG,gBAAArlG,KAAAqlG,eAAAD,QAAA9oG,IAAoNusC,QAAAlxC,UAAA6tD,iBAAA,SAAAlpD,EAAAiD,GAAkD,MAAAS,MAAAqlG,eAAA/oG,EAAA0D,KAAAslG,mBAAA/lG,EAAAS,MAA4D1J,OAAAD,QAAAwyC,UACtmDu6D,SAAA,MAAamC,KAAA,SAAAzlG,QAAAxJ,OAAAD,SAChB,YAAa,SAAAmvG,YAAAlpG,EAAAiD,GAAyB,MAAAA,GAAAoE,IAAArH,EAAAqH,IAAmB,QAAA8hG,MAAAnpG,EAAAiD,EAAAhI,EAAAiI,GAAuBQ,KAAAnI,EAAA,GAAA8kB,OAAArgB,EAAAiD,GAAAS,KAAAO,EAAAhJ,EAAAyI,KAAAlJ,EAAA4uG,mBAAA1lG,KAAAnI,EAAA2H,GAAAQ,KAAA2D,IAAA3D,KAAAlJ,EAAAkJ,KAAAO,EAAAL,KAAAylG,MAAqG,QAAAD,oBAAAppG,EAAAiD,GAAiC,IAAA,GAAAhI,IAAA,EAAAiI,EAAA,EAAA,EAAAvI,EAAA,EAAuBA,EAAAsI,EAAA5G,OAAW1B,IAAA,IAAA,GAAAV,GAAAgJ,EAAAtI,GAAAT,EAAA,EAAAiJ,EAAAlJ,EAAAoC,OAAAb,EAAA2H,EAAA,EAAwCjJ,EAAAiJ,EAAI3H,EAAAtB,IAAA,CAAO,GAAAkJ,GAAAnJ,EAAAC,GAAA+J,EAAAhK,EAAAuB,EAAkB4H,GAAAc,EAAAlE,EAAAkE,GAAAD,EAAAC,EAAAlE,EAAAkE,GAAAlE,EAAAsE,GAAAL,EAAAK,EAAAlB,EAAAkB,IAAAtE,EAAAkE,EAAAd,EAAAc,IAAAD,EAAAC,EAAAd,EAAAc,GAAAd,EAAAkB,IAAArJ,GAAAA,GAAAiI,EAAAU,KAAAgK,IAAA1K,EAAAomG,qBAAAtpG,EAAAoD,EAAAa,IAA0G,OAAAhJ,EAAA,GAAA,GAAA2I,KAAA2R,KAAArS,GAA4B,QAAAqmG,iBAAAvpG,GAA4B,IAAA,GAAAiD,GAAA,EAAAhI,EAAA,EAAAiI,EAAA,EAAAvI,EAAAqF,EAAA,GAAA/F,EAAA,EAAAC,EAAAS,EAAA0B,OAAA8G,EAAAjJ,EAAA,EAAgDD,EAAAC,EAAIiJ,EAAAlJ,IAAA,CAAO,GAAAuB,GAAAb,EAAAV,GAAAmJ,EAAAzI,EAAAwI,GAAAc,EAAAzI,EAAA8I,EAAAlB,EAAAc,EAAAd,EAAAkB,EAAA9I,EAAA0I,CAAoCjJ,KAAAO,EAAA8I,EAAAlB,EAAAkB,GAAAL,EAAAf,IAAA1H,EAAA0I,EAAAd,EAAAc,GAAAD,EAAAhB,GAAA,EAAAgB,EAAqC,MAAA,IAAAklG,MAAAluG,EAAAgI,EAAAC,EAAAD,EAAA,EAAAjD,GAA6B,GAAAwpG,OAAAhmG,QAAA,aAAA6c,MAAA7c,QAAA,kBAAA8lG,qBAAA9lG,QAAA,wBAAA8lG,oBAAyItvG,QAAAD,QAAA,SAAAiG,EAAAiD,EAAAhI,GAA+BgI,EAAAA,GAAA,CAAO,KAAA,GAAAC,GAAAvI,EAAAV,EAAAC,EAAAiJ,EAAAnD,EAAA,GAAAxE,EAAA,EAA2BA,EAAA2H,EAAA9G,OAAWb,IAAA,CAAK,GAAA4H,GAAAD,EAAA3H,KAAWA,GAAA4H,EAAAkB,EAAApB,KAAAA,EAAAE,EAAAkB,KAAA9I,GAAA4H,EAAAc,EAAAvJ,KAAAA,EAAAyI,EAAAc,KAAA1I,GAAA4H,EAAAkB,EAAArK,KAAAA,EAAAmJ,EAAAkB,KAAA9I,GAAA4H,EAAAc,EAAAhK,KAAAA,EAAAkJ,EAAAc,GAAoF,GAAAD,GAAAhK,EAAAiJ,EAAA3H,EAAArB,EAAAS,EAAAuJ,EAAAN,KAAAgK,IAAA3J,EAAA1I,GAAA+I,EAAAJ,EAAA,EAAA1J,EAAA,GAAAgvG,OAAA,KAAAN,WAAmE,IAAA,IAAAhlG,EAAA,OAAAhB,EAAAvI,EAAqB,KAAA,GAAA6J,GAAAtB,EAAYsB,EAAAvK,EAAIuK,GAAAN,EAAA,IAAA,GAAAlB,GAAArI,EAAiBqI,EAAA9I,EAAI8I,GAAAkB,EAAA1J,EAAA8D,KAAA,GAAA6qG,MAAA3kG,EAAAF,EAAAtB,EAAAsB,EAAAA,EAAAtE,GAAmC,KAAA,GAAA3F,GAAAkvG,gBAAAvpG,GAAA1F,EAAAE,EAAA6B,OAAwC7B,EAAA6B,QAAS,CAAE,GAAA0H,GAAAvJ,EAAA0W,OAAcnN,EAAAvJ,EAAAH,EAAAG,IAAAH,EAAAG,KAAAH,EAAA0J,EAAA9I,GAAAuU,QAAAV,IAAA,gCAAAlL,KAAAyO,MAAA,IAAAtO,EAAAvJ,GAAA,IAAAF,IAAAyJ,EAAAsD,IAAAhN,EAAAG,GAAAyI,IAAAqB,EAAAP,EAAAE,EAAA,EAAAzJ,EAAA8D,KAAA,GAAA6qG,MAAAplG,EAAAxI,EAAA+I,EAAAA,EAAAP,EAAAxI,EAAA2I,EAAAI,EAAAA,EAAAtE,IAAAxF,EAAA8D,KAAA,GAAA6qG,MAAAplG,EAAAxI,EAAA+I,EAAAA,EAAAP,EAAAxI,EAAA2I,EAAAI,EAAAA,EAAAtE,IAAAxF,EAAA8D,KAAA,GAAA6qG,MAAAplG,EAAAxI,EAAA+I,EAAAA,EAAAP,EAAAxI,EAAA2I,EAAAI,EAAAA,EAAAtE,IAAAxF,EAAA8D,KAAA,GAAA6qG,MAAAplG,EAAAxI,EAAA+I,EAAAA,EAAAP,EAAAxI,EAAA2I,EAAAI,EAAAA,EAAAtE,IAAA1F,GAAA,GAAsR,MAAAW,KAAAuU,QAAAV,IAAA,eAAAxU,GAAAkV,QAAAV,IAAA,kBAAAzU,EAAAG,IAAAH,EAAAkB,KAC76CkuG,uBAAA,IAAAz8E,iBAAA,GAAA08E,UAAA,KAA8DC,KAAA,SAAAnmG,QAAAxJ,OAAAD,SACjE,YAAa,IAAA6vG,kBAAAC,WAAArmG,QAAA,gBAAyDxJ,QAAAD,QAAA,WAA0B,MAAA6vG,oBAAAA,iBAAA,GAAAC,aAAAD,oBAC7FE,gBAAA,MAAoBC,KAAA,SAAAvmG,QAAAxJ,OAAAD,SACvB,YAAa,SAAAwuF,QAAAnlF,EAAApD,GAAqB0D,KAAAs1D,OAAA51D,EAAAoa,WAAAwsF,kBAAAhqG,GAA8C,QAAAgqG,gBAAA5mG,EAAApD,EAAAkD,GAA+B,GAAA,IAAAE,EAAA,CAAU,GAAAH,GAAAC,EAAAya,YAAAssF,eAAmCtvC,WAAY36D,GAAA1B,KAAA2E,IAAW,QAAAgnG,eAAA7mG,EAAApD,EAAAkD,GAA8B,GAAA,IAAAE,EAAApD,EAAAvF,KAAAyI,EAAAob,iBAA+B,IAAA,IAAAlb,EAAApD,EAAA6U,MAAA3R,EAAAob,iBAAqC,IAAA,IAAAlb,EAAA,CAAe,GAAAH,GAAAC,EAAAya,YAAAusF,aAAkClqG,GAAA26D,OAAA13D,EAAArG,IAAAqG,GAAkB,QAAAinG,WAAA9mG,EAAApD,EAAAkD,GAA0B,IAAAE,EAAApD,EAAApD,GAAAsG,EAAAua,aAAA,IAAAra,EAAApD,EAAAioF,OAAA/kF,EAAAqb,YAAA,IAAAnb,EAAApD,EAAAiH,MAAA/D,EAAAua,aAAA,IAAAra,EAAApD,EAAAkH,OAAAhE,EAAAua,aAAA,IAAAra,EAAApD,EAAA2vE,KAAAzsE,EAAAib,cAAA,IAAA/a,EAAApD,EAAA8vE,IAAA5sE,EAAAib,cAAA,IAAA/a,IAAApD,EAAAyoF,QAAAvlF,EAAAua,cAA6MzjB,OAAAD,QAAAwuF,YAC3jB4hB,KAAA,SAAA3mG,QAAAxJ,OAAAD,SACJ,YAAa,SAAAwtF,0BAAAtsF,EAAAgI,GAAuC,IAAA,GAAAjD,GAAA,EAAYA,EAAA/E,EAAAoB,OAAW2D,IAAA,GAAAoqG,qBAAAnnG,EAAAhI,EAAA+E,IAAA,OAAA,CAA6C,KAAA,GAAAkD,GAAA,EAAYA,EAAAD,EAAA5G,OAAW6G,IAAA,GAAAknG,qBAAAnvG,EAAAgI,EAAAC,IAAA,OAAA,CAA6C,SAAAmnG,mBAAApvG,EAAAgI,GAAgC,QAAAi/B,0CAAAjnC,EAAAgI,EAAAjD,GAAyD,IAAA,GAAAkD,GAAA,EAAYA,EAAAjI,EAAAoB,OAAW6G,IAAA,IAAA,GAAAvI,GAAAM,EAAAiI,GAAAjJ,EAAA,EAAuBA,EAAAgJ,EAAA5G,OAAWpC,IAAA,IAAA,GAAAC,GAAA+I,EAAAhJ,GAAAkJ,EAAA,EAAuBA,EAAAjJ,EAAAmC,OAAW8G,IAAA,CAAK,GAAA3H,GAAAtB,EAAAiJ,EAAW,IAAAinG,qBAAAzvG,EAAAa,GAAA,OAAA,CAAsC,IAAA8uG,4BAAA9uG,EAAAb,EAAAqF,GAAA,OAAA,EAA+C,OAAA,EAAS,QAAAmiC,oCAAAlnC,EAAAgI,GAAiD,GAAA,IAAAhI,EAAAoB,QAAA,IAAApB,EAAA,GAAAoB,OAAA,MAAAkuG,2BAAAtnG,EAAAhI,EAAA,GAAA,GAA6E,KAAA,GAAA+E,GAAA,EAAYA,EAAAiD,EAAA5G,OAAW2D,IAAA,IAAA,GAAAkD,GAAAD,EAAAjD,GAAArF,EAAA,EAAuBA,EAAAuI,EAAA7G,OAAW1B,IAAA,GAAA4vG,0BAAAtvG,EAAAiI,EAAAvI,IAAA,OAAA,CAAkD,KAAA,GAAAV,GAAA,EAAYA,EAAAgB,EAAAoB,OAAWpC,IAAA,CAAK,IAAA,GAAAC,GAAAe,EAAAhB,GAAAkJ,EAAA,EAAmBA,EAAAjJ,EAAAmC,OAAW8G,IAAA,GAAAonG,0BAAAtnG,EAAA/I,EAAAiJ,IAAA,OAAA,CAAkD,KAAA,GAAA3H,GAAA,EAAYA,EAAAyH,EAAA5G,OAAWb,IAAA,GAAA6uG,mBAAAnwG,EAAA+I,EAAAzH,IAAA,OAAA,EAA2C,OAAA,EAAS,QAAA4mC,yCAAAnnC,EAAAgI,EAAAjD,GAAwD,IAAA,GAAAkD,GAAA,EAAYA,EAAAD,EAAA5G,OAAW6G,IAAA,IAAA,GAAAvI,GAAAsI,EAAAC,GAAAjJ,EAAA,EAAuBA,EAAAgB,EAAAoB,OAAWpC,IAAA,CAAK,GAAAC,GAAAe,EAAAhB,EAAW,IAAAC,EAAAmC,QAAA,EAAA,IAAA,GAAA8G,GAAA,EAA2BA,EAAAxI,EAAA0B,OAAW8G,IAAA,GAAAinG,qBAAAlwG,EAAAS,EAAAwI,IAAA,OAAA,CAA6C,IAAAqnG,2BAAAtwG,EAAAS,EAAAqF,GAAA,OAAA,EAA8C,OAAA,EAAS,QAAAwqG,4BAAAvvG,EAAAgI,EAAAjD,GAA2C,GAAA/E,EAAAoB,OAAA,EAAA,CAAe,GAAAguG,mBAAApvG,EAAAgI,GAAA,OAAA,CAAoC,KAAA,GAAAC,GAAA,EAAYA,EAAAD,EAAA5G,OAAW6G,IAAA,GAAAonG,4BAAArnG,EAAAC,GAAAjI,EAAA+E,GAAA,OAAA,EAAsD,IAAA,GAAArF,GAAA,EAAYA,EAAAM,EAAAoB,OAAW1B,IAAA,GAAA2vG,4BAAArvG,EAAAN,GAAAsI,EAAAjD,GAAA,OAAA,CAAsD,QAAA,EAAS,QAAAqqG,oBAAApvG,EAAAgI,GAAiC,GAAA,IAAAhI,EAAAoB,QAAA,IAAA4G,EAAA5G,OAAA,OAAA,CAAuC,KAAA,GAAA2D,GAAA,EAAYA,EAAA/E,EAAAoB,OAAA,EAAa2D,IAAA,IAAA,GAAAkD,GAAAjI,EAAA+E,GAAArF,EAAAM,EAAA+E,EAAA,GAAA/F,EAAA,EAAgCA,EAAAgJ,EAAA5G,OAAA,EAAapC,IAAyB,GAAAwwG,iCAAAvnG,EAAAvI,EAApBsI,EAAAhJ,GAAAgJ,EAAAhJ,EAAA,IAAoB,OAAA,CAAsD,QAAA,EAAS,QAAAwwG,kCAAAxvG,EAAAgI,EAAAjD,EAAAkD,GAAmD,MAAAwnG,oBAAAzvG,EAAA+E,EAAAkD,KAAAwnG,mBAAAznG,EAAAjD,EAAAkD,IAAAwnG,mBAAAzvG,EAAAgI,EAAAjD,KAAA0qG,mBAAAzvG,EAAAgI,EAAAC,GAAoH,QAAAonG,6BAAArvG,EAAAgI,EAAAjD,GAA4C,GAAAkD,GAAAlD,EAAAA,CAAU,IAAA,IAAAiD,EAAA5G,OAAA,MAAApB,GAAAqmB,QAAAre,EAAA,IAAAC,CAAyC,KAAA,GAAAvI,GAAA,EAAYA,EAAAsI,EAAA5G,OAAW1B,IAAyB,GAAA2uG,qBAAAruG,EAApBgI,EAAAtI,EAAA,GAAAsI,EAAAtI,IAAoBuI,EAAA,OAAA,CAA0C,QAAA,EAAS,QAAAomG,sBAAAruG,EAAAgI,EAAAjD,GAAqC,GAAAkD,GAAAD,EAAAqe,QAAAthB,EAAmB,IAAA,IAAAkD,EAAA,MAAAjI,GAAAqmB,QAAAre,EAA6B,IAAAtI,KAAAM,EAAAqJ,EAAArB,EAAAqB,IAAAtE,EAAAsE,EAAArB,EAAAqB,IAAArJ,EAAAiJ,EAAAjB,EAAAiB,IAAAlE,EAAAkE,EAAAjB,EAAAiB,IAAAhB,CAAkD,OAAAvI,GAAA,EAAAM,EAAAqmB,QAAAre,GAAAtI,EAAA,EAAAM,EAAAqmB,QAAAthB,GAAA/E,EAAAqmB,QAAAthB,EAAAwgB,IAAAvd,GAAA0d,MAAAhmB,GAAA4lB,KAAAtd,IAA8E,QAAAsnG,2BAAAtvG,EAAAgI,GAAwC,IAAA,GAAAjD,GAAAkD,EAAAvI,EAAAV,GAAA,EAAAC,EAAA,EAAuBA,EAAAe,EAAAoB,OAAWnC,IAAY,IAAA,GAAAiJ,GAAA,EAAA3H,GAAPwE,EAAA/E,EAAAf,IAAOmC,OAAA,EAAyB8G,EAAAnD,EAAA3D,OAAWb,EAAA2H,IAAAD,EAAAlD,EAAAmD,GAAAxI,EAAAqF,EAAAxE,GAAA0H,EAAAgB,EAAAjB,EAAAiB,GAAAvJ,EAAAuJ,EAAAjB,EAAAiB,GAAAjB,EAAAqB,GAAA3J,EAAA2J,EAAApB,EAAAoB,IAAArB,EAAAiB,EAAAhB,EAAAgB,IAAAvJ,EAAAuJ,EAAAhB,EAAAgB,GAAAhB,EAAAoB,IAAArK,GAAAA,EAAoF,OAAAA,GAAS,QAAAmwG,sBAAAnvG,EAAAgI,GAAmC,IAAA,GAAAjD,IAAA,EAAAkD,EAAA,EAAAvI,EAAAM,EAAAoB,OAAA,EAA8B6G,EAAAjI,EAAAoB,OAAW1B,EAAAuI,IAAA,CAAO,GAAAjJ,GAAAgB,EAAAiI,GAAAhJ,EAAAe,EAAAN,EAAkBV,GAAAiK,EAAAjB,EAAAiB,GAAAhK,EAAAgK,EAAAjB,EAAAiB,GAAAjB,EAAAqB,GAAApK,EAAAoK,EAAArK,EAAAqK,IAAArB,EAAAiB,EAAAjK,EAAAiK,IAAAhK,EAAAgK,EAAAjK,EAAAiK,GAAAjK,EAAAqK,IAAAtE,GAAAA,GAAgE,MAAAA,GAAS,GAAA0qG,oBAAAlnG,QAAA,UAAAknG,kBAA4D1wG,QAAAD,SAAgBmoC,yCAAAA,yCAAAC,mCAAAA,mCAAAC,wCAAAA,wCAAAmlD,yBAAAA,yBAAA+hB,qBAAAA,wBAC5nFxC,SAAA,MAAa6D,KAAA,SAAAnnG,QAAAxJ,OAAAD,SAChB,YAAa,IAAA6wG,qBAAwBC,qBAAA,SAAA5vG,GAAiC,MAAAA,IAAA,KAAAA,GAAA,KAAsB6vG,cAAA,SAAA7vG,GAA2B,MAAAA,IAAA,MAAAA,GAAA,MAAwB8vG,wCAAA,SAAA9vG,GAAqD,MAAAA,IAAA,MAAAA,GAAA,MAAwB+vG,iDAAA,SAAA/vG,GAA8D,MAAAA,IAAA,MAAAA,GAAA,MAAwBgwG,sBAAA,SAAAhwG,GAAmC,MAAAA,IAAA,MAAAA,GAAA,MAAwBiwG,qBAAA,SAAAjwG,GAAkC,MAAAA,IAAA,MAAAA,GAAA,MAAwBkwG,eAAA,SAAAlwG,GAA4B,MAAAA,IAAA,MAAAA,GAAA,MAAwBmwG,0BAAA,SAAAnwG,GAAuC,MAAAA,IAAA,MAAAA,GAAA,MAAwBowG,mBAAA,SAAApwG,GAAgC,MAAAA,IAAA,MAAAA,GAAA,MAAwBqwG,gCAAA,SAAArwG,GAA6C,MAAAA,IAAA,MAAAA,GAAA,MAAwBswG,yBAAA,SAAAtwG,GAAsC,MAAAA,IAAA,MAAAA,GAAA,MAAwBuwG,mBAAA,SAAAvwG,GAAgC,MAAAA,IAAA,MAAAA,GAAA,MAAwBwwG,wBAAA,SAAAxwG,GAAqC,MAAAA,IAAA,MAAAA,GAAA,MAAwBywG,mCAAA,SAAAzwG,GAAgD,MAAAA,IAAA,OAAAA,GAAA,OAA0B0wG,0BAAA,SAAA1wG,GAAuC,MAAAA,IAAA,OAAAA,GAAA,OAA0B2wG,kBAAA,SAAA3wG,GAA+B,MAAAA,IAAA,OAAAA,GAAA,OAA0B4wG,qCAAA,SAAA5wG,GAAkD,MAAAA,IAAA,OAAAA,GAAA,OAA0B6wG,8BAAA,SAAA7wG,GAA2C,MAAAA,IAAA,OAAAA,GAAA,OAA0B8wG,SAAA,SAAA9wG,GAAsB,MAAAA,IAAA,OAAAA,GAAA,OAA0B+wG,SAAA,SAAA/wG,GAAsB,MAAAA,IAAA,OAAAA,GAAA,OAA0BgxG,SAAA,SAAAhxG,GAAsB,MAAAA,IAAA,OAAAA,GAAA,OAA0BixG,4BAAA,SAAAjxG,GAAyC,MAAAA,IAAA,OAAAA,GAAA,OAA0BkxG,OAAA,SAAAlxG,GAAoB,MAAAA,IAAA,OAAAA,GAAA,OAA0BmxG,oBAAA,SAAAnxG,GAAiC,MAAAA,IAAA,OAAAA,GAAA,OAA0BoxG,cAAA,SAAApxG,GAA2B,MAAAA,IAAA,OAAAA,GAAA,OAA0BqxG,+BAAA,SAAArxG,GAA4C,MAAAA,IAAA,OAAAA,GAAA,OAA0BsxG,kCAAA,SAAAtxG,GAA+C,MAAAA,IAAA,OAAAA,GAAA,OAA0BuxG,oBAAA,SAAAvxG,GAAiC,MAAAA,IAAA,OAAAA,GAAA,OAA0BwxG,qCAAA,SAAAxxG,GAAkD,MAAAA,IAAA,OAAAA,GAAA,OAA0ByxG,0BAAA,SAAAzxG,GAAuC,MAAAA,IAAA,OAAAA,GAAA,OAA0B0xG,yBAAA,SAAA1xG,GAAsC,MAAAA,IAAA,OAAAA,GAAA,OAA0B2xG,eAAA,SAAA3xG,GAA4B,MAAAA,IAAA,OAAAA,GAAA,OAA0B4xG,cAAA,SAAA5xG,GAA2B,MAAAA,IAAA,OAAAA,GAAA,OAA0B6xG,yBAAA,SAAA7xG,GAAsC,MAAAA,IAAA,OAAAA,GAAA,OAA0B8xG,mBAAA,SAAA9xG,GAAgC,MAAAA,IAAA,OAAAA,GAAA,OAA0B+xG,yBAAA,SAAA/xG,GAAsC,MAAAA,IAAA,OAAAA,GAAA,OAA0BgyG,mBAAA,SAAAhyG,GAAgC,MAAAA,IAAA,OAAAA,GAAA,OAA0BiyG,+BAAA,SAAAjyG,GAA4C,MAAAA,IAAA,OAAAA,GAAA,OAA0BkyG,iBAAA,SAAAlyG,GAA8B,MAAAA,IAAA,OAAAA,GAAA,OAA0BmyG,0BAAA,SAAAnyG,GAAuC,MAAAA,IAAA,OAAAA,GAAA,OAA0BoyG,sBAAA,SAAApyG,GAAmC,MAAAA,IAAA,OAAAA,GAAA,OAA0BqyG,gCAAA,SAAAryG,GAA6C,MAAAA,IAAA,OAAAA,GAAA,OAA4BjB,QAAAD,QAAA6wG,wBACvkF2C,KAAA,SAAA/pG,QAAAxJ,OAAAD,SACJ,YAAa,IAAAyzG,UAAA,SAAAvqG,EAAAjD,GAA2B0D,KAAA2D,IAAApE,EAAAS,KAAA+mD,SAAAzqD,EAAA0D,KAAAwuD,QAAyCs7C,UAAAnyG,UAAA62D,MAAA,WAAoC,GAAAjvD,GAAAS,IAAW,KAAA,GAAA1D,KAAAiD,GAAApG,KAAAoG,EAAAwnD,SAAAxnD,EAAApG,KAAAmD,GAA0C,OAAA0D,MAAA7G,QAAmB6G,KAAA+pG,SAAA/pG,MAAoB8pG,SAAAnyG,UAAAsH,IAAA,SAAAM,EAAAjD,GAAsC,GAAA0D,KAAAivD,IAAA1vD,GAAAS,KAAA+pG,MAAA3lG,OAAApE,KAAA+pG,MAAA92F,QAAA1T,GAAA,GAAAS,KAAA7G,KAAAoG,GAAAjD,EAAA0D,KAAA+pG,MAAAnvG,KAAA2E,OAA4F,IAAAS,KAAA7G,KAAAoG,GAAAjD,EAAA0D,KAAA+pG,MAAAnvG,KAAA2E,GAAAS,KAAA+pG,MAAApxG,OAAAqH,KAAA2D,IAAA,CAAsE,GAAAnE,GAAAQ,KAAA1I,IAAA0I,KAAA+pG,MAAA,GAA8BvqG,IAAAQ,KAAA+mD,SAAAvnD,GAAoB,MAAAQ,OAAY8pG,SAAAnyG,UAAAs3D,IAAA,SAAA1vD,GAAoC,MAAAA,KAAAS,MAAA7G,MAAsB2wG,SAAAnyG,UAAA4X,KAAA,WAAoC,MAAAvP,MAAA+pG,OAAkBD,SAAAnyG,UAAAL,IAAA,SAAAiI,GAAoC,IAAAS,KAAAivD,IAAA1vD,GAAA,MAAA,KAA4B,IAAAjD,GAAA0D,KAAA7G,KAAAoG,EAAmB,cAAAS,MAAA7G,KAAAoG,GAAAS,KAAA+pG,MAAA3lG,OAAApE,KAAA+pG,MAAA92F,QAAA1T,GAAA,GAAAjD,GAAwEwtG,SAAAnyG,UAAAu3D,mBAAA,SAAA3vD,GAAmD,MAAAS,MAAAivD,IAAA1vD,GAA4BS,KAAA7G,KAAAoG,GAA5B,MAAwDuqG,SAAAnyG,UAAAo4D,OAAA,SAAAxwD,GAAuC,IAAAS,KAAAivD,IAAA1vD,GAAA,MAAAS,KAA4B,IAAA1D,GAAA0D,KAAA7G,KAAAoG,EAAmB,cAAAS,MAAA7G,KAAAoG,GAAAS,KAAA+mD,SAAAzqD,GAAA0D,KAAA+pG,MAAA3lG,OAAApE,KAAA+pG,MAAA92F,QAAA1T,GAAA,GAAAS,MAA4F8pG,SAAAnyG,UAAAy3D,WAAA,SAAA7vD,GAA2C,GAAAjD,GAAA0D,IAAW,KAAAA,KAAA2D,IAAApE,EAAeS,KAAA+pG,MAAApxG,OAAAqH,KAAA2D,KAA2B,CAAE,GAAAnE,GAAAlD,EAAAhF,IAAAgF,EAAAytG,MAAA,GAAwBvqG,IAAAlD,EAAAyqD,SAAAvnD,GAAiB,MAAAQ,OAAY1J,OAAAD,QAAAyzG,cAClpCE,KAAA,SAAAlqG,QAAAxJ,OAAAD,SACJ,YAAa,SAAA4zG,YAAAzqG,EAAAlD,GAAyB,GAAAiD,GAAA2qG,SAAAphE,OAAAw6D,QAA+B,IAAA9jG,EAAAkhG,SAAAnhG,EAAAmhG,SAAAlhG,EAAA2qG,UAAA5qG,EAAA4qG,WAAArhE,OAAAy6D,qBAAA,MAAA6G,WAAA5qG,EAAkG,MAAAlD,EAAAA,GAAAwsC,OAAAG,cAAA,KAAA,IAAAtpC,OAAA,qDAAA0qG,KAA0G,IAAA,MAAA/tG,EAAA,GAAA,KAAA,IAAAqD,OAAA,sFAAA0qG,KAA0H,OAAA7qG,GAAA8/B,OAAA1kC,KAAA,gBAAA0B,GAAA8tG,UAAA5qG,GAAqD,QAAA87E,aAAA97E,GAAwB,MAAA,KAAAA,EAAAyT,QAAA,WAAgC,QAAAq3F,wBAAA9qG,GAAmC,IAAA,GAAAlD,GAAA,EAAYA,EAAAkD,EAAA7G,OAAW2D,IAAA,IAAAkD,EAAAlD,GAAA2W,QAAA,sBAAAzT,EAAAlD,GAAA,iBAAAwsC,OAAAG,cAAA,KAA2F,QAAAihE,UAAA1qG,GAAqB,GAAAlD,GAAAkD,EAAAslB,MAAAylF,MAAqB,KAAAjuG,EAAA,KAAA,IAAAqD,OAAA,6BAAoD,QAAO+gG,SAAApkG,EAAA,GAAA6tG,UAAA7tG,EAAA,GAAA2mD,KAAA3mD,EAAA,IAAA,IAAAgjC,OAAAhjC,EAAA,GAAAA,EAAA,GAAAlE,MAAA,SAA4E,QAAAgyG,WAAA5qG,GAAsB,GAAAlD,GAAAkD,EAAA8/B,OAAA3mC,OAAA,IAAA6G,EAAA8/B,OAAArhC,KAAA,KAAA,EAAgD,OAAAuB,GAAAkhG,SAAA,MAAAlhG,EAAA2qG,UAAA3qG,EAAAyjD,KAAA3mD,EAA6C,GAAAwsC,QAAAhpC,QAAA,YAAA0f,QAAA1f,QAAA,aAAAuqG,KAAA,6DAA+Hh0G,SAAAilF,YAAAA,YAAAjlF,QAAAslF,kBAAA,SAAAn8E,EAAAlD,GAAwE,IAAAg/E,YAAA97E,GAAA,MAAAA,EAA4B,IAAAD,GAAA2qG,SAAA1qG,EAAkB,OAAAD,GAAA0jD,KAAA,aAAA1jD,EAAA0jD,KAAAgnD,WAAA1qG,EAAAjD,IAAkDjG,QAAAsuF,mBAAA,SAAAnlF,EAAAlD,GAA0C,IAAAg/E,YAAA97E,GAAA,MAAAA,EAA4B,IAAAD,GAAA2qG,SAAA1qG,EAAkB,OAAAD,GAAA0jD,KAAA,YAAA1jD,EAAA0jD,KAAAgnD,WAAA1qG,EAAAjD,IAAiDjG,QAAAozD,mBAAA,SAAAjqD,EAAAlD,GAA0C,IAAAg/E,YAAA97E,GAAA,MAAAA,EAA4B,IAAAD,GAAA2qG,SAAA1qG,EAAkB,OAAAD,GAAA0jD,KAAA,OAAA1jD,EAAA4qG,UAAA,QAAA5qG,EAAA+/B,OAAA1kC,KAAA,UAAAqvG,WAAA1qG,EAAAjD,IAAiFjG,QAAA+hF,mBAAA,SAAA54E,EAAAlD,EAAAiD,EAAAtI,GAA8C,GAAAyI,GAAAwqG,SAAA1qG,EAAkB,OAAA87E,aAAA97E,IAAAE,EAAAujD,KAAA,aAAAvjD,EAAAujD,KAAA,UAAA3mD,EAAAiD,EAAA0qG,WAAAvqG,EAAAzI,KAAAyI,EAAAujD,MAAA,GAAA3mD,EAAAiD,EAAA6qG,UAAA1qG,IAAgH,IAAA8qG,kBAAA,uBAA6Cn0G,SAAAu0D,iBAAA,SAAAprD,EAAAlD,EAAAiD,GAAyC,IAAAjD,IAAAg/E,YAAAh/E,GAAA,MAAAkD,EAAgC,IAAAvI,GAAAizG,SAAA1qG,GAAAE,EAAA8f,QAAAwsB,kBAAA,GAAA,MAAAzsC,EAAA,MAAA,GAAAzH,EAAA0nB,QAAA+iF,aAAA,QAAA,IAAsG,OAAAtrG,GAAAgsD,KAAAhsD,EAAAgsD,KAAAt+B,QAAA6lF,iBAAA,GAAA9qG,EAAA5H,GAAAwyG,uBAAArzG,EAAAqoC,QAAA8qE,UAAAnzG,GAAqG,IAAAszG,OAAA,2CACx/DE,YAAA,IAAAC,WAAA,MAA+BC,KAAA,SAAA7qG,QAAAxJ,OAAAD,SAClC,YAAa,IAAAu0G,QAAA9qG,QAAA,6BAAiDxJ,QAAAD,QAAAw0G,0BAAA,SAAAnrG,GAAqD,IAAA,GAAAnJ,GAAA,EAAAiJ,EAAAE,EAAgBnJ,EAAAiJ,EAAA7G,OAAWpC,GAAA,EAAA,CAAM,GAAAuB,GAAA0H,EAAAjJ,EAAW,KAAAF,QAAA+wF,8BAAAtvF,EAAAqf,WAAA,IAAA,OAAA,EAAoE,OAAA,GAAS7gB,OAAAD,QAAAmhC,0BAAA,SAAA93B,GAAsD,IAAA,GAAAnJ,GAAA,EAAAiJ,EAAAE,EAAgBnJ,EAAAiJ,EAAA7G,OAAWpC,GAAA,EAAA,CAAM,GAAAuB,GAAA0H,EAAAjJ,EAAW,IAAAF,QAAAgxF,kCAAAvvF,EAAAqf,WAAA,IAAA,OAAA,EAAuE,OAAA,GAAS7gB,OAAAD,QAAA+wF,8BAAA,SAAA1nF,GAA0D,WAAAA,EAAA,SAAAkrG,OAAA,qBAAAlrG,IAAAkrG,OAAArC,SAAA7oG,IAAAkrG,OAAA,2BAAAlrG,IAAAkrG,OAAA,gCAAAlrG,IAAAkrG,OAAA,qBAAAlrG,IAAAkrG,OAAA,2BAAAlrG,IAAAkrG,OAAA,eAAAlrG,IAAAkrG,OAAA,+BAAAlrG,IAAAkrG,OAAA,sCAAAlrG,IAAAkrG,OAAA,0BAAAlrG,IAAAkrG,OAAA,mCAAAlrG,IAAAkrG,OAAA,iCAAAlrG,IAAAkrG,OAAAvC,SAAA3oG,IAAAkrG,OAAA,sCAAAlrG,IAAAkrG,OAAA,mBAAAlrG,IAAAkrG,OAAA,gCAAAlrG,IAAAkrG,OAAAtC,SAAA5oG,IAAAkrG,OAAA,kBAAAlrG,IAAAkrG,OAAA,eAAAlrG,IAAAkrG,OAAA,gBAAAlrG,MAAkxBrJ,QAAAgxF,kCAAA,SAAA3nF,GAAuD,SAAA,MAAAA,GAAA,MAAAA,KAAAA,EAAA,QAAAkrG,OAAA,qBAAAlrG,IAAAkrG,OAAArC,SAAA7oG,IAAAkrG,OAAA,2BAAAlrG,MAAAA,GAAA,OAAAA,GAAA,QAAAkrG,OAAA,gCAAAlrG,IAAAkrG,OAAA,qBAAAlrG,IAAAkrG,OAAA,2BAAAlrG,IAAAkrG,OAAA,eAAAlrG,OAAAkrG,OAAA,+BAAAlrG,IAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAA,QAAAA,IAAAkrG,OAAA,sCAAAlrG,IAAAkrG,OAAA,0BAAAlrG,IAAAkrG,OAAA,mCAAAlrG,IAAAkrG,OAAA,6BAAAlrG,IAAAkrG,OAAA,0BAAAlrG,IAAAkrG,OAAA,0BAAAlrG,IAAAkrG,OAAA,eAAAlrG,IAAAkrG,OAAA,oBAAAlrG,IAAAkrG,OAAAvC,SAAA3oG,IAAAkrG,OAAA,sCAAAlrG,IAAAkrG,OAAAnC,OAAA/oG,IAAAkrG,OAAA,mBAAAlrG,IAAAkrG,OAAA,gCAAAlrG,IAAAkrG,OAAAtC,SAAA5oG,IAAA,QAAAA,MAAAkrG,OAAA,iCAAAlrG,IAAA,QAAAA,GAAA,QAAAA,GAAA,QAAAA,GAAAA,GAAA,OAAAA,GAAA,OAAA,QAAAA,GAAA,QAAAA,GAAA,QAAAA,GAAAA,GAAA,OAAAA,GAAA,OAAA,QAAAA,GAAAA,GAAA,OAAAA,GAAA,WAAAkrG,OAAA,uBAAAlrG,IAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,QAAAkrG,OAAA,yCAAAlrG,IAAAkrG,OAAA,kDAAAlrG,IAAAkrG,OAAA,kBAAAlrG,IAAAkrG,OAAA,2BAAAlrG,IAAAkrG,OAAA,gBAAAlrG,IAAAkrG,OAAA,eAAAlrG,MAA+8CrJ,QAAAy0G,kCAAA,SAAAprG,GAAuD,SAAAkrG,OAAA,sBAAAlrG,KAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,IAAAkrG,OAAA,uBAAAlrG,KAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,IAAAkrG,OAAA,sBAAAlrG,IAAAkrG,OAAA,gBAAAlrG,IAAAkrG,OAAA,2BAAAlrG,KAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,KAAA,OAAAA,GAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAA,OAAAA,GAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,OAAAkrG,OAAA,oBAAAlrG,IAAA,OAAAA,GAAAkrG,OAAA,iCAAAlrG,IAAAkrG,OAAA,0BAAAlrG,IAAAkrG,OAAA,oBAAAlrG,IAAAkrG,OAAA,yBAAAlrG,MAAAA,GAAA,MAAAA,GAAA,OAAAkrG,OAAA,oCAAAlrG,KAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,QAAAkrG,OAAA,+BAAAlrG,IAAAkrG,OAAAtC,SAAA5oG,IAAAkrG,OAAA,oBAAAlrG,IAAAkrG,OAAA,2BAAAlrG,IAAAkrG,OAAA,uBAAAlrG,IAAAkrG,OAAA,iCAAAlrG,IAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAAA,GAAA,MAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAA,QAAAA,GAAA,QAAAA,IAAgsCrJ,QAAA00G,kCAAA,SAAArrG,GAAuD,QAAArJ,QAAAgxF,kCAAA3nF,IAAArJ,QAAAy0G,kCAAAprG,OAC3hIsrG,6BAAA,MAAiCC,KAAA,SAAAnrG,QAAAxJ,OAAAD,SACpC,YAAa,IAAA8sC,QAAArjC,QAAA,iBAAqCxJ,QAAAD,QAAA,SAAAkB,EAAAgI,EAAA/I,GAA+B,GAAAe,EAAA,GAAA4rC,QAAA5rC,EAAA6rC,IAAA7rC,EAAA8rC,KAAA9jC,EAAA,CAAgC,GAAAG,GAAA,GAAAyjC,QAAA5rC,EAAA6rC,IAAA,IAAA7rC,EAAA8rC,KAAA9sC,EAAA,GAAA4sC,QAAA5rC,EAAA6rC,IAAA,IAAA7rC,EAAA8rC,KAAApsC,EAAAT,EAAA0wC,cAAA3vC,GAAAqmB,QAAAre,EAAgG/I,GAAA0wC,cAAAxnC,GAAAke,QAAAre,GAAAtI,EAAAM,EAAAmI,EAAAlJ,EAAA0wC,cAAA3wC,GAAAqnB,QAAAre,GAAAtI,IAAAM,EAAAhB,GAA2E,KAAK2J,KAAAsF,IAAAjO,EAAA6rC,IAAA5sC,EAAA6E,OAAA+nC,KAAA,KAAiC,CAAE,GAAA9mC,GAAA9F,EAAA0wC,cAAA3vC,EAAyB,IAAA+E,EAAAsE,GAAA,GAAAtE,EAAAkE,GAAA,GAAAlE,EAAAsE,GAAApK,EAAA+M,OAAAjH,EAAAkE,GAAAhK,EAAAgN,OAAA,KAAqDjM,GAAA6rC,IAAA5sC,EAAA6E,OAAA+nC,IAAA7rC,EAAA6rC,KAAA,IAAA7rC,EAAA6rC,KAAA,IAAyC,MAAA7rC,MACxb8xD,iBAAA,KAAoB6hD,KAAA,SAAAprG,QAAAxJ,OAAAD,SACvB,YAAa,SAAAmnC,uBAAAj+B,GAAkC,GAAAjD,GAAAyQ,KAAAC,UAAAzN,EAAwB,IAAA4rG,qBAAA7uG,GAAA,MAAA6uG,sBAAA7uG,EAA0D,IAAAkD,OAAA,KAAAD,EAAAojC,UAAA,EAAApjC,EAAAojC,UAAApsC,EAAA,EAAAgB,EAAA,EAAAmI,GAAA,SAAAzI,EAAAsI,EAAAs8B,QAAA7gC,IAAA,SAAAuE,GAAyFG,EAAAuT,QAAA1T,EAAAlG,MAAA,GAAAqG,EAAA9E,KAAA2E,EAAAlG,KAAoC,IAAAiD,GAAA8uG,OAAA7rG,EAAAlG,MAAApC,EAAAV,EAAAgxF,MAAAhxF,EAAA2J,KAAAyD,IAAAnE,EAAAlD,IAAAxE,EAAAyH,EAAA8xB,YAAA,CAAkE,OAAA95B,GAAA2I,KAAAyD,IAAApM,EAAA+E,GAAA/F,GAAA+F,EAAAxE,GAA+Bf,KAAAwI,EAAAxI,KAAAsC,KAAAkG,EAAAlG,KAAAg4B,WAAAv5B,EAAA4kC,OAAAzlC,KAA+Ca,EAAAyvF,MAAAhxF,EAAA2J,KAAAyD,IAAApM,EAAAiI,IAAA3H,EAAA,SAAA0H,GAAyC,QAAAjD,KAAaiD,EAAAggB,MAAAvf,KAAAtH,WAAwB,MAAA6G,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,GAAgG+uG,OAASxzG,GAAAF,UAAAgrC,UAAAnjC,EAAA3H,EAAAF,UAAA4tC,KAAAztC,CAA2C,KAAA,GAAA0I,GAAA,EAAA5J,EAAAK,EAAgBuJ,EAAA5J,EAAA+B,OAAW6H,GAAA,EAAA,IAAA,GAAAD,GAAA3J,EAAA4J,GAAAf,EAAA,EAAwBA,EAAAc,EAAA8wB,WAAe5xB,IAAA,CAAK,GAAAH,GAAAiB,EAAAxJ,MAAA,IAAAwJ,EAAA8wB,WAAA,GAAA5xB,EAAqCvI,QAAAC,eAAAU,EAAAF,UAAA2H,GAAqChI,IAAAg0G,aAAA/qG,EAAAd,GAAA0Q,IAAAo7F,aAAAhrG,EAAAd,KAA8C,GAAA9I,GAAA,SAAA4I,GAAkB,QAAAjD,KAAaiD,EAAAggB,MAAAvf,KAAAtH,WAAwB,MAAA6G,KAAAjD,EAAAk1B,UAAAjyB,GAAAjD,EAAA3E,UAAAT,OAAAyK,OAAApC,GAAAA,EAAA5H,WAAA2E,EAAA3E,UAAAgrB,YAAArmB,EAAAA,GAAgGkvG,YAAc,OAAA70G,GAAAgB,UAAAkkC,QAAA5kC,EAAAN,EAAAgB,UAAAirF,WAAA/qF,EAAAlB,EAAAgB,UAAA23B,gBAAAx3B,EAAAnB,EAAAgB,UAAAs5B,YAAAw6E,kBAAAx0G,EAAAa,GAAAnB,EAAAgB,UAAA+zG,WAAAhsG,EAAAyrG,qBAAA7uG,GAAA3F,EAAAA,EAAwL,QAAA4wF,OAAAhoF,EAAAjD,GAAoB,MAAA4D,MAAAmY,KAAA9Y,EAAAjD,GAAAA,EAAwB,QAAA8uG,QAAA7rG,GAAmB,MAAAosG,WAAApsG,GAAAqsG,kBAAsC,QAAAC,kBAAAtsG,GAA6B,MAAAA,GAAArB,cAAuB,QAAAutG,mBAAAlsG,EAAAjD,GAAgC,IAAA,GAAAkD,MAAAjJ,KAAAgB,EAAA,wDAAwEmI,EAAA,EAAAzI,EAAAsI,EAAYG,EAAAzI,EAAA0B,OAAW+G,GAAA,EAAA,CAAM,GAAA5H,GAAAb,EAAAyI,GAAA7H,EAAAuzG,OAAAtzG,EAAAuB,KAA4BmG,GAAAyT,QAAApb,GAAA,IAAA2H,EAAA5E,KAAA/C,GAAAN,GAAA,QAAAM,EAAAioD,QAAA,GAAA,WAAAxjD,EAAAzE,GAAAioD,QAAA,GAAA,MAAqF,KAAA,GAAAt/C,GAAA,EAAYA,EAAA1I,EAAAu5B,WAAe7wB,IAAA,CAAK,GAAA5J,GAAA,IAAAL,EAAAoC,OAAA4H,EAAA,IAAA1I,EAAAioD,QAAA,GAAA,OAAAhoD,EAAA4kC,OAAA7kC,EAAA2I,GAAAs/C,QAAA,EAAsEvoD,IAAA,QAAAs0G,iBAAA/zG,EAAAuB,MAAA,IAAAkH,EAAA,OAAA3J,EAAA,MAAqDL,EAAAqE,KAAAhE,IAAe,MAAAW,IAAA,YAAoB,GAAAgc,UAAAhd,EAAAwgB,WAAAxf,GAA+B,QAAAu0G,6BAAAvsG,EAAAjD,GAA0C,GAAA/E,GAAA,YAAA6zG,OAAA7rG,EAAAlG,MAAAymD,QAAA,GAAA,OAAAvgD,EAAAm9B,OAAA0uE,OAAA7rG,EAAAlG,MAAAiD,GAAAwjD,QAAA,EAAiG,OAAA,qBAAA+rD,iBAAAtsG,EAAAlG,MAAA,IAAA9B,EAAA,IAA8D,QAAA+zG,cAAA/rG,EAAAjD,GAA2B,MAAA,IAAAiX,UAAA,UAAAu4F,4BAAAvsG,EAAAjD,GAAA,KAAoE,QAAAivG,cAAAhsG,EAAAjD,GAA2B,MAAA,IAAAiX,UAAA,IAAAu4F,4BAAAvsG,EAAAjD,GAAA,SAAkEhG,OAAAD,QAAAmnC,qBAAqC,IAAAmuE,YAAenwE,KAAAuwE,UAAAtwE,MAAAplB,WAAA21F,aAAAtxD,kBAAAhf,MAAAuwE,WAAAtwE,OAAAuwE,YAAAC,MAAA/8F,WAAAg9F,OAAA5jB,YAAA6jB,QAAApsG,aAAAqsG,QAAA7kE,cAAiL4jE,OAAA,SAAA9rG,EAAAjD,GAAsB0D,KAAAusG,aAAAhtG,EAAAS,KAAAwsG,MAAAlwG,EAAA0D,KAAAulC,KAAAvlC,KAAAysG,MAAAzsG,KAAAwsG,MAAA,EAAAxsG,KAAA0sG,MAAA1sG,KAAAwsG,MAAA,EAAAxsG,KAAA2sG,MAAA3sG,KAAAwsG,MAAA,GAAmHhB,YAAA,SAAAjsG,GAAkES,KAAA4sG,eAAA,MAAA,KAAArtG,GAAAS,KAAAmP,YAAA5P,EAAA4P,YAAAnP,KAAArH,OAAA4G,EAAA5G,OAAAqH,KAAA6sG,SAAA7sG,KAAAmP,YAAAuI,WAAA1X,KAAAsvB,gBAAAtvB,KAAA8sG,kBAAA9sG,KAAA6sG,UAAA,EAAA7sG,KAAA4D,OAAA,IAA8M4nG,aAAA/9E,UAAA,WAAiC,OAAOoO,QAAA77B,KAAArI,UAAAkkC,QAAA8G,UAAA3iC,KAAArI,UAAAirF,WAAAjrF,UAAAgrC,UAAArT,gBAAAtvB,KAAArI,UAAA23B,kBAAuIk8E,YAAA7zG,UAAA81B,UAAA,SAAAluB,GAA6C,MAAAS,MAAA+sG,QAAAxtG,IAAAS,KAAA4sG,eAAA,EAAArtG,EAAA3E,KAAAoF,KAAAmP,eAAyExW,OAAAqH,KAAArH,OAAAwW,YAAAnP,KAAAmP,cAAiDq8F,YAAA7zG,UAAAL,IAAA,SAAAiI,GAAuC,MAAA,IAAAS,MAAA4iF,WAAA5iF,KAAAT,IAAmCisG,YAAA7zG,UAAAo1G,MAAA,WAAwC/sG,KAAArH,SAAAqH,KAAA6sG,WAAA7sG,KAAA6sG,SAAA7sG,KAAArH,OAAAqH,KAAAmP,YAAAnP,KAAAmP,YAAApR,MAAA,EAAAiC,KAAArH,OAAAqH,KAAAsvB,iBAAAtvB,KAAA8sG,kBAA0JtB,YAAA7zG,UAAAiM,OAAA,SAAArE,GAA0C,GAAAS,KAAArH,OAAA4G,EAAAA,EAAAS,KAAA6sG,SAAA,CAAkC7sG,KAAA6sG,SAAA3sG,KAAAyD,IAAApE,EAAAW,KAAAwN,MAA97B,EAA87B1N,KAAA6sG,UAA97B,KAA87B7sG,KAAAmP,YAAA,GAAAD,aAAAlP,KAAA6sG,SAAA7sG,KAAAsvB,gBAA4J,IAAAhzB,GAAA0D,KAAAgtG,KAAiBhtG,MAAA8sG,gBAAAxwG,GAAA0D,KAAAgtG,MAAA78F,IAAA7T,KAA2CkvG,YAAA7zG,UAAAm1G,cAAA,WAAgD,IAAA,GAAAvtG,GAAAS,KAAA1D,EAAA,EAAAkD,EAAAD,EAAAmsG,WAAkCpvG,EAAAkD,EAAA7G,OAAW2D,GAAA,EAAA,CAAM,GAAA/F,GAAAiJ,EAAAlD,EAAWiD,GAAAssG,iBAAAt1G,IAAA,GAAAo1G,WAAAp1G,GAAAgJ,EAAA4P,eAAwDq8F,YAAA7zG,UAAA2rC,QAAA,SAAA/jC,EAAAjD,GAA6C,IAAA,GAAAkD,GAAAQ,KAAAzJ,KAAAgB,EAAAgI,EAAwBhI,EAAA+E,EAAI/E,IAAA,CAAK,GAAAmI,GAAAF,EAAAlI,IAAAC,EAAehB,GAAAqE,KAAA8E,GAAU,MAAAnJ,GAAU,IAAA40G,8BACp5H8B,KAAA,SAAAntG,QAAAxJ,OAAAD,SACJ,YAAa,SAAAm/B,eAAAl5B,EAAA/E,GAA4B,MAAAA,GAAAotB,QAAA,cAA4B,SAAAptB,EAAAiI,GAAiB,MAAAA,KAAAlD,GAAAA,EAAAkD,GAAA,KAAwBlJ,OAAAD,QAAAm/B,mBAC1G03E,KAAA,SAAAptG,QAAAxJ,OAAAD,SACJ,YAAa,IAAAoO,YAAA3E,QAAA,sBAAA+iC,WAAA/iC,QAAA,oBAAAA,SAAA,iBAAqHzJ,SAAA4rF,eAAA,SAAAziF,GAAmC,GAAAA,GAAA,EAAA,MAAA,EAAiB,IAAAA,GAAA,EAAA,MAAA,EAAiB,IAAAlD,GAAAkD,EAAAA,EAAAD,EAAAjD,EAAAkD,CAAgB,OAAA,IAAAA,EAAA,GAAAD,EAAA,GAAAC,EAAAlD,GAAAiD,EAAA,MAAgClJ,QAAAm3F,OAAA,SAAAhuF,EAAAlD,EAAAiD,EAAAhI,GAAkC,GAAAN,GAAA,GAAAwN,YAAAjF,EAAAlD,EAAAiD,EAAAhI,EAA8B,OAAA,UAAAiI,GAAmB,MAAAvI,GAAAwO,MAAAjG,KAAmBnJ,QAAA01F,KAAA11F,QAAAm3F,OAAA,IAAA,GAAA,IAAA,GAAAn3F,QAAAwvC,MAAA,SAAArmC,EAAAlD,EAAAiD,GAAyE,MAAAW,MAAAgK,IAAA3K,EAAAW,KAAAyD,IAAArH,EAAAkD,KAAiCnJ,QAAAoW,KAAA,SAAAjN,EAAAlD,EAAAiD,GAA8B,GAAAhI,GAAAgI,EAAAjD,EAAArF,IAAAuI,EAAAlD,GAAA/E,EAAAA,GAAAA,EAAA+E,CAA4B,OAAArF,KAAAqF,EAAAiD,EAAAtI,GAAiBZ,QAAA2tG,SAAA,SAAAxkG,EAAAlD,EAAAiD,GAAkC,IAAAC,EAAA7G,OAAA,MAAA4G,GAAA,QAA+B,IAAAhI,GAAAiI,EAAA7G,OAAA1B,EAAA,GAAA8Y,OAAAvQ,EAAA7G,QAAA+G,EAAA,IAA4CF,GAAAwT,QAAA,SAAAxT,EAAAjJ,GAAwB+F,EAAAkD,EAAA,SAAAA,EAAAlD,GAAkBkD,IAAAE,EAAAF,GAAAvI,EAAAV,GAAA+F,EAAA,KAAA/E,GAAAgI,EAAAG,EAAAzI,QAAoCZ,QAAA6zB,OAAA,SAAA1qB,GAA4B,GAAAlD,KAAS,KAAA,GAAAiD,KAAAC,GAAAlD,EAAA1B,KAAA4E,EAAAD,GAA4B,OAAAjD,IAASjG,QAAAo5D,eAAA,SAAAjwD,EAAAlD,GAAsC,GAAAiD,KAAS,KAAA,GAAAhI,KAAAiI,GAAAjI,IAAA+E,IAAAiD,EAAA3E,KAAArD,EAAiC,OAAAgI,IAASlJ,QAAA+G,OAAA,SAAAoC,EAAAlD,EAAAiD,EAAAhI,GAAkC,IAAA,GAAAN,GAAAyB,UAAAgH,EAAA,EAAwBA,EAAAhH,UAAAC,OAAmB+G,IAAA,CAAK,GAAAnJ,GAAAU,EAAAyI,EAAW,KAAA,GAAAD,KAAAlJ,GAAAiJ,EAAAC,GAAAlJ,EAAAkJ,GAAyB,MAAAD,IAASnJ,QAAAqzD,KAAA,SAAAlqD,EAAAlD,GAA4B,IAAA,GAAAiD,MAAYhI,EAAA,EAAKA,EAAA+E,EAAA3D,OAAWpB,IAAA,CAAK,GAAAN,GAAAqF,EAAA/E,EAAWN,KAAAuI,KAAAD,EAAAtI,GAAAuI,EAAAvI,IAAoB,MAAAsI,GAAU,IAAArG,IAAA,CAAS7C,SAAAk6D,SAAA,WAA4B,MAAAr3D,OAAY7C,QAAAs2D,QAAA,SAAAntD,EAAAlD,GAA+BkD,EAAAwT,QAAA,SAAAxT,GAAsBlD,EAAAkD,KAAAlD,EAAAkD,GAAAlD,EAAAkD,GAAAgU,KAAAlX,OAA4BjG,QAAAuyD,qBAAA,SAAAppD,GAA0C,IAAA,GAAAlD,GAAA,EAAA,EAAAiD,EAAA,EAAA,EAAAhI,GAAA,EAAA,EAAAN,GAAA,EAAA,EAAAyI,EAAA,EAA0CA,EAAAF,EAAA7G,OAAW+G,IAAApD,EAAA4D,KAAAgK,IAAA5N,EAAAkD,EAAAE,GAAAojC,QAAAvjC,EAAAW,KAAAgK,IAAA3K,EAAAC,EAAAE,GAAAqjC,KAAAxrC,EAAA2I,KAAAyD,IAAApM,EAAAiI,EAAAE,GAAAojC,QAAA7rC,EAAAiJ,KAAAyD,IAAA1M,EAAAuI,EAAAE,GAAAqjC,IAAsG,IAAAxsC,GAAAgB,EAAA+E,EAAAmD,EAAAxI,EAAAsI,EAAAzH,EAAAoI,KAAAyD,IAAApN,EAAAkJ,GAAA7I,EAAAsJ,KAAAyD,IAAA,EAAAzD,KAAAwN,OAAAxN,KAAAkL,IAAAtT,GAAAoI,KAAAwQ,KAAgF,OAAA,IAAAmyB,aAAAvmC,EAAA/E,GAAA,GAAAgI,EAAAtI,GAAA,EAAA,GAAA+rC,OAAApsC,IAAmDP,QAAAmjF,SAAA,SAAAh6E,EAAAlD,GAAgC,OAAA,IAAAkD,EAAAyT,QAAA3W,EAAAkD,EAAA7G,OAAA2D,EAAA3D,SAA2CtC,QAAAk6B,UAAA,SAAA/wB,EAAAlD,EAAAiD,GAAmC,GAAAhI,GAAAyI,KAAA/I,IAAgB,KAAA,GAAAyI,KAAAF,GAAAvI,EAAAyI,GAAApD,EAAA5F,KAAA6I,GAAAhI,EAAAiI,EAAAE,GAAAA,EAAAF,EAA0C,OAAAvI,IAASZ,QAAAmnF,aAAA,SAAAh+E,EAAAlD,EAAAiD,GAAsC,GAAAhI,GAAAyI,KAAA/I,IAAgB,KAAA,GAAAyI,KAAAF,GAAAlD,EAAA5F,KAAA6I,GAAAhI,EAAAiI,EAAAE,GAAAA,EAAAF,KAAAvI,EAAAyI,GAAAF,EAAAE,GAAkD,OAAAzI,IAASZ,QAAAinF,UAAA,SAAA99E,EAAAlD,GAAiC,GAAAyT,MAAAuD,QAAA9T,GAAA,CAAqB,IAAAuQ,MAAAuD,QAAAhX,IAAAkD,EAAA7G,SAAA2D,EAAA3D,OAAA,OAAA,CAAmD,KAAA,GAAA4G,GAAA,EAAYA,EAAAC,EAAA7G,OAAW4G,IAAA,IAAAlJ,QAAAinF,UAAA99E,EAAAD,GAAAjD,EAAAiD,IAAA,OAAA,CAA8C,QAAA,EAAS,GAAA,gBAAAC,IAAA,OAAAA,GAAA,OAAAlD,EAAA,CAA2C,GAAA,gBAAAA,GAAA,OAAA,CAAoD,IAArBpF,OAAAqY,KAAA/P,GAAqB7G,SAAAzB,OAAAqY,KAAAjT,GAAA3D,OAAA,OAAA,CAA6C,KAAA,GAAA1B,KAAAuI,GAAA,IAAAnJ,QAAAinF,UAAA99E,EAAAvI,GAAAqF,EAAArF,IAAA,OAAA,CAAyD,QAAA,EAAS,MAAAuI,KAAAlD,GAAajG,QAAAumB,MAAA,SAAApd,GAA2B,MAAAuQ,OAAAuD,QAAA9T,GAAAA,EAAAxE,IAAA3E,QAAAumB,OAAA,gBAAApd,IAAAA,EAAAnJ,QAAAk6B,UAAA/wB,EAAAnJ,QAAAumB,OAAApd,GAAwGnJ,QAAAioC,gBAAA,SAAA9+B,EAAAlD,GAAuC,IAAA,GAAAiD,GAAA,EAAYA,EAAAC,EAAA7G,OAAW4G,IAAA,GAAAjD,EAAA2W,QAAAzT,EAAAD,KAAA,EAAA,OAAA,CAAmC,QAAA,EAAU,IAAA4tG,mBAAuB92G,SAAAuhC,SAAA,SAAAp4B,GAA6B2tG,gBAAA3tG,KAAA,mBAAAsM,UAAAA,QAAAurD,KAAA73D,GAAA2tG,gBAAA3tG,IAAA,IAAyFnJ,QAAA2wG,mBAAA,SAAAxnG,EAAAlD,EAAAiD,GAA4C,OAAAA,EAAAiB,EAAAhB,EAAAgB,IAAAlE,EAAAsE,EAAApB,EAAAoB,IAAAtE,EAAAkE,EAAAhB,EAAAgB,IAAAjB,EAAAqB,EAAApB,EAAAoB,IAA8CvK,QAAA8sG,oBAAA,SAAA3jG,GAAyC,IAAA,GAAAlD,GAAA,EAAAiD,EAAA,EAAAhI,EAAAiI,EAAA7G,OAAA1B,EAAAM,EAAA,EAAAmI,MAAA,GAAAnJ,MAAA,GAAmDgJ,EAAAhI,EAAIN,EAAAsI,IAAAG,EAAAF,EAAAD,GAAAhJ,EAAAiJ,EAAAvI,GAAAqF,IAAA/F,EAAAqK,EAAAlB,EAAAkB,IAAAlB,EAAAc,EAAAjK,EAAAiK,EAA2C,OAAAlE,IAASjG,QAAA+2G,gBAAA,SAAA5tG,GAAqC,GAAAA,EAAA7G,OAAA,EAAA,OAAA,CAAuB,IAAA2D,GAAAkD,EAAA,GAAAD,EAAAC,EAAAA,EAAA7G,OAAA,EAA2B,SAAAuH,KAAAsF,IAAAlJ,EAAAsE,EAAArB,EAAAqB,GAAA,GAAAV,KAAAsF,IAAAlJ,EAAAkE,EAAAjB,EAAAiB,GAAA,IAAAN,KAAAsF,IAAAnP,QAAA8sG,oBAAA3jG,IAAA,KAAgGnJ,QAAAsjF,qBAAA,SAAAn6E,GAA0C,GAAAlD,GAAAkD,EAAA,GAAAD,EAAAC,EAAA,GAAAjI,EAAAiI,EAAA,EAAyB,OAAAD,IAAA,GAAAA,GAAAW,KAAAgG,GAAA,IAAA3O,GAAA2I,KAAAgG,GAAA,KAAA5J,EAAA4D,KAAAE,IAAAb,GAAAW,KAAAC,IAAA5I,GAAA+E,EAAA4D,KAAAC,IAAAZ,GAAAW,KAAAC,IAAA5I,GAAA+E,EAAA4D,KAAAE,IAAA7I,KAA+GlB,QAAAu6D,kBAAA,SAAApxD,GAAuC,GAAAlD,GAAA,2JAA0HiD,IAA4C,IAAAC,EAAAmlB,QAAAroB,EAAA,SAAAkD,EAAAlD,EAAA/E,EAAAN,GAAiC,GAAAyI,GAAAnI,GAAAN,CAAW,OAAAsI,GAAAjD,IAAAoD,GAAAA,EAAAxB,cAAA,KAAmCqB,EAAA,WAAA,CAAgB,GAAAhI,GAAA6iC,SAAA76B,EAAA,WAAA,GAAgCkR,OAAAlZ,SAAAgI,GAAA,WAAAA,EAAA,WAAAhI,EAA4C,MAAAgI,MAC1hH0wD,oBAAA,GAAAo9C,qBAAA,EAAA/jF,iBAAA,KAAkEgkF,KAAA,SAAAxtG,QAAAxJ,OAAAD,SACrE,YAAa,IAAAk3G,SAAA,SAAAjxG,EAAAiD,EAAAC,EAAAvI,GAA8B+I,KAAA3G,KAAA,UAAA2G,KAAAwtG,mBAAAlxG,EAAAA,EAAAmxG,GAAAluG,EAAAjD,EAAAoxG,GAAAluG,EAAAlD,EAAAqxG,GAAA12G,EAAA+I,KAAAvG,WAAA6C,EAAA7C,WAAA,MAAA6C,EAAApD,KAAA8G,KAAA9G,GAAAoD,EAAApD,KAA2HisC,oBAAqB5rC,YAAa4rC,oBAAA5rC,SAAAjC,IAAA,WAA2C,WAAA,KAAA0I,KAAA4oB,YAAA5oB,KAAA4oB,UAAA5oB,KAAAwtG,mBAAAnkF,UAAArpB,KAAAwtG,mBAAAE,GAAA1tG,KAAAwtG,mBAAAG,GAAA3tG,KAAAwtG,mBAAAC,IAAAl0G,UAAAyG,KAAA4oB,WAA6Luc,mBAAA5rC,SAAA4W,IAAA,SAAA7T,GAA6C0D,KAAA4oB,UAAAtsB,GAAiBixG,QAAA51G,UAAA+gF,OAAA,WAAqC,GAAAp8E,GAAA0D,KAAAT,GAAchG,SAAAyG,KAAAzG,SAAwB,KAAA,GAAAiG,KAAAlD,GAAA,cAAAkD,GAAA,uBAAAA,IAAAD,EAAAC,GAAAlD,EAAAkD,GAAsE,OAAAD,IAASrI,OAAA6c,iBAAAw5F,QAAA51G,UAAAwtC,oBAAA7uC,OAAAD,QAAAk3G,aACpoBK,KAAA,SAAA9tG,QAAAxJ,OAAAD,SACJ,YAAa,IAAAy/B,iBAAAh2B,QAAA,qBAAkDxJ,QAAAD,QAAA,SAAAkJ,GAA2B,IAAA,GAAAtI,GAAA,GAAAqF,EAAA,EAAiBA,EAAAiD,EAAA5G,OAAW2D,IAAA,CAAK,GAAAkD,GAAAD,EAAA4X,WAAA7a,EAAA,IAAA,KAAA9F,EAAA+I,EAAA4X,WAAA7a,EAAA,IAAA,IAAiPrF,MAAjPuI,IAAAs2B,gBAAAi1E,kCAAAvrG,IAAAlJ,OAAAD,QAAA6uF,OAAA3lF,EAAAjD,EAAA,QAAA9F,IAAAs/B,gBAAAi1E,kCAAAv0G,IAAAF,OAAAD,QAAA6uF,OAAA3lF,EAAAjD,EAAA,MAAiPhG,OAAAD,QAAA6uF,OAAA3lF,EAAAjD,IAAAhG,OAAAD,QAAA6uF,OAAA3lF,EAAAjD,IAAAiD,EAAAjD,GAAmE,MAAArF,IAASX,OAAAD,QAAA6uF,QAAwBx3C,IAAA,IAAAE,IAAA,IAAAC,EAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAE,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAE,IAAA,IAAAC,IAAgH,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAK,IAAA,IAAAC,KAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAvd,EAAA,IAAAwd,IAAA,IAAAC,IAA+F,IAAAC,IAAA,IAAAC,IAAgB,IAAAC,IAAA,IAAAg+D,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,OAC5qBC,qBAAA,MAAyBC,KAAA,SAAArxG,QAAAxJ,OAAAD,SAC5B,YAAa,IAAA+6G,WAAAtxG,QAAA,gBAAAqmG,WAAA,WAA4DnmG,KAAAqxG,UAAgBlL,YAAAxuG,UAAAosG,QAAA,SAAAvkG,GAAyC,GAAAlD,GAAA0D,IAAW,KAAAA,KAAAsxG,QAAA,CAAkB,GAAAr6G,GAAA6I,QAAA,OAAAsoC,WAAiC,KAAApoC,KAAAsxG,WAAoBtxG,KAAAsxG,QAAA34G,OAAA1B,GAAsBqF,EAAAg1G,QAAA12G,KAAA,GAAAw2G,YAA+B,MAAApxG,MAAAqxG,OAAA7xG,IAAA,EAAAQ,KAAAsxG,QAAAvzG,SAA8CooG,WAAAxuG,UAAAssG,QAAA,SAAAzkG,SAA0CQ,MAAAqxG,OAAA7xG,GAAA,IAAAtI,OAAAqY,KAAAvP,KAAAqxG,QAAA14G,SAAAqH,KAAAsxG,QAAAt+F,QAAA,SAAAxT,GAA6FA,EAAA+xG,cAAcvxG,KAAAsxG,QAAA,OAAqBh7G,OAAAD,QAAA8vG,aAC9dqL,MAAA,GAAAC,eAAA,WAAiC,KAAA,uEC9bpC,GAAA3wG,EAGAA,GAAA,WACA,MAAAd,QAGA,KAEAc,EAAAA,GAAAyS,SAAA,mBAAA,EAAAm+F,MAAA,QACC,MAAAp1G,GAED,gBAAAlD,UACA0H,EAAA1H,QAOA9C,OAAAD,QAAAyK,+DCnBA,+EAAA5K,oBAAA,IAEIy7G,QAAUnzG,SAASozG,iBAAiB,oFAExC,IAAA,GAAA53G,OAAAC,UAAgB03G,QAAhBz3G,OAAAC,cAAAN,2BAAAG,MAAAC,UAAAG,QAAAC,MAAAR,2BAAA,EAAyB,CAAA,GAAhBrB,KAAgBwB,MAAAnD,OACrB,EAAAg7G,cAAAp3G,SAASjC","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 bec323e585cc25500ca1","//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","//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 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","(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__(17)(module))},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,__webpack_require__){(function(global){var require;!function(f){module.exports=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 require(o,!0);if(i)return require(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,void 0!==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;f
r;)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.length0&&(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__(2)),_mapboxUtils2=_interopRequireDefault(__webpack_require__(1)),_parseLocation2=_interopRequireDefault(__webpack_require__(0)),_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__(15))},,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__(2))},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 = 2\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","(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;f
r;)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 {\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